protected override void ApplyConfig(ActorConfig actorConfig) { // for receiving Procedure Scheduled [RAD-4] // for receiving Procedure Updated [RAD-13] AddHl7Server(ActorNameEnum.DssOrderFiller, actorConfig); // for receiving Image Availability Query [RAD-11] // for receiving Performed Work Status Update [RAD-42] // AddDicomServer(ActorNameEnum.DssOrderFiller, actorConfig); // 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(new DicomMppsServer(this, ActorNameEnum.PerformedProcedureStepManager), actorConfig); // for receiving Storage Commitment [RAD-10] AddDicomServer(new DicomStorageCommitServer(this, ActorNameEnum.AcquisitionModality), actorConfig); // for receiving Storage Commitment [RAD-10] AddDicomServer(new DicomStorageCommitServer(this, ActorNameEnum.EvidenceCreator), actorConfig); // for receiving Image Availability Query [RAD-11] AddDicomServer(new DicomQueryRetrieveServer(this, ActorNameEnum.ReportManager), actorConfig); // for sending Performed Work Status Update [RAD-42] // for sending Instance Availability Notification [RAD-49] // AddDicomClient(ActorNameEnum.DssOrderFiller, actorConfig); // for sending Storage Commitment [RAD-10] AddDicomClient(new DicomStorageCommitClient(this, ActorNameEnum.AcquisitionModality), actorConfig); // for sending Storage Commitment [RAD-10] AddDicomClient(new DicomStorageCommitClient(this, ActorNameEnum.EvidenceCreator), actorConfig); }
protected override void ApplyConfig(ActorConfig actorConfig) { // for receiving Patient Registration [RAD-1] // for receiving Patient Update [RAD-12] AddHl7Server(ActorNameEnum.AdtPatientRegistration, actorConfig); // for receiving Placer Order Management [RAD-2] AddHl7Server(ActorNameEnum.OrderPlacer, actorConfig); // for receiving Query Modality Worklist [RAD-5] AddDicomServer(new DicomWorklistServer(this, ActorNameEnum.AcquisitionModality), actorConfig); // 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(new DicomMppsServer(this, ActorNameEnum.PerformedProcedureStepManager), actorConfig); // for receiving Instance Availability Notification [RAD-49] // AddDicomServer(ActorNameEnum.ImageManager, actorConfig); // for sending Filler Order Management [RAD-3] // for sending Appointment Notification [RAD-48] AddHl7Client(ActorNameEnum.OrderPlacer, actorConfig); // for sending Procedure Scheduled [RAD-4] // for sending Procedure Updated [RAD-13] AddHl7Client(ActorNameEnum.ImageManager, actorConfig); // for sending Image Availability Query [RAD-11] // for sending Performed Work Status Update [RAD-42] // AddDicomClient(ActorNameEnum.ImageManager, actorConfig); }
public void ConfigDevice(System.Collections.ArrayList configArray) { // config array will contain // - print server config ActorConfig localConfig = new ActorConfig(ActorNameEnum.PrintServer); // localConfig.Add(configArray[0]); _printServer.ConfigActor(localConfig); }
protected override void ApplyConfig(ActorConfig actorConfig) { // for receiving Retrieve Images [RAD-16] AddDicomServer(new DicomStorageServer(this, ActorNameEnum.ImageArchive), actorConfig); // for sending Query Images [RAD-14] // for sending Retrieve Images [RAD-16] AddDicomClient(new DicomQueryRetrieveClient(this, ActorNameEnum.ImageArchive), actorConfig); }
protected override void ApplyConfig(ActorConfig actorConfig) { // for sending Patient Registration [RAD-1] // for sending Patient Update [Rad-12] AddHl7Client(ActorNameEnum.OrderPlacer, actorConfig); // for sending Patient Registration [RAD-1] // for sending Patient Update [Rad-12] AddHl7Client(ActorNameEnum.DssOrderFiller, actorConfig); }
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); } }
protected void AddDicomClient(DicomClient dicomClient, ActorConfig actorConfig) { int index = DicomConfigPresent(dicomClient.ActorName, actorConfig); if (index != -1) { dicomClient.ApplyConfig((DicomConfig)actorConfig[index]); _dicomClients.Add(dicomClient.ActorName, dicomClient); } }
protected void AddDicomServer(DicomServer dicomServer, ActorConfig actorConfig) { int index = DicomConfigPresent(dicomServer.ActorName, actorConfig); if (index != -1) { dicomServer.ApplyConfig((DicomConfig)actorConfig[index]); SubscribeEvent(dicomServer); _dicomServers.Add(dicomServer.ActorName, dicomServer); } }
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); } }
protected override void ApplyConfig(ActorConfig actorConfig) { // for receiving Modality Images Stored [RAD-8] AddDicomServer(new DicomStorageServer(this, ActorNameEnum.AcquisitionModality), actorConfig); // for receiving Creator Images Stored [RAD-18] AddDicomServer(new DicomStorageServer(this, ActorNameEnum.EvidenceCreator), actorConfig); // for receiving Query Images [RAD-14] // for receiving Retrieve Images [RAD-16] AddDicomServer(new DicomQueryRetrieveServer(this, ActorNameEnum.ImageDisplay), actorConfig); }
protected override void ApplyConfig(ActorConfig actorConfig) { // for receiving Patient Registration [RAD-1] // for receiving Patient Update [RAD-12] AddHl7Server(ActorNameEnum.AdtPatientRegistration, actorConfig); // for receiving Filler Order Management [RAD-3] // for receiving Appointment Notification [RAD-48] AddHl7Server(ActorNameEnum.DssOrderFiller, actorConfig); // for sending Placer Order Management [RAD-2] AddHl7Client(ActorNameEnum.DssOrderFiller, actorConfig); }
public void ConfigDevice(System.Collections.ArrayList configArray) { // config array will contain // - dss/order filler (worklist) config ActorConfig localConfig = new ActorConfig(ActorNameEnum.DssOrderFiller); // localConfig.Add(configArray[0]); _dssOrderFiller.ConfigActor(localConfig); // - pps manager (mpps) config localConfig.RemoveAt(0); // localConfig.Add(configArray[1]); _ppsManager.ConfigActor(localConfig); }
public void ConfigDevice(System.Collections.ArrayList configArray) { // config array will contain // - dss/order filler config // - pps manager config // - image manager config // - image archive config ActorConfig localConfig = new ActorConfig(ActorNameEnum.DssOrderFiller); // localConfig.Add(configArray[0]); // localConfig.Add(configArray[1]); // localConfig.Add(configArray[2]); // localConfig.Add(configArray[3]); _acquisitionModality.ConfigActor(localConfig); }
protected override void ApplyConfig(ActorConfig actorConfig) { // for receiving Storage Commitment [RAD-10] AddDicomServer(new DicomStorageCommitServer(this, ActorNameEnum.ImageManager), actorConfig); // for sending Creator Procedure Step In Progress [RAD-20] // for sending Creator Procedure Step Completed [RAD-21] AddDicomClient(new DicomMppsClient(this, ActorNameEnum.PerformedProcedureStepManager), actorConfig); // for sending Creator Images Stored [RAD-18] AddDicomClient(new DicomStorageClient(this, ActorNameEnum.ImageArchive), actorConfig); // for sending Storage Commitment [RAD-10] AddDicomClient(new DicomStorageCommitClient(this, ActorNameEnum.ImageManager), actorConfig); }
public void ConfigDevice(System.Collections.ArrayList configArray) { // config array will contain // - image manager config ActorConfig localConfig = new ActorConfig(ActorNameEnum.ImageManager); // localConfig.Add(configArray[0]); _imageManager.ConfigActor(localConfig); // - image archive (storage) config // - image archive (query/retrieve) config localConfig.RemoveAt(0); // localConfig.Add(configArray[1]); // localConfig.Add(configArray[2]); _imageArchive.ConfigActor(localConfig); }
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); }
protected override void ApplyConfig(ActorConfig actorConfig) { // for receiving Storage Commitment [RAD-10] AddDicomServer(new DicomStorageCommitServer(this, ActorNameEnum.ImageManager), actorConfig); // for sending Query Modality Worklist [RAD-5] AddDicomClient(new DicomWorklistClient(this, ActorNameEnum.DssOrderFiller), actorConfig); // for sending Modality Procedure Step In Progress [RAD-6] // for sending Modality Procedure Step Completed [RAD-7] AddDicomClient(new DicomMppsClient(this, ActorNameEnum.PerformedProcedureStepManager), actorConfig); // for sending Modality Images Stored [RAD-8] AddDicomClient(new DicomStorageClient(this, ActorNameEnum.ImageArchive), actorConfig); // for sending Storage Commitment [RAD-10] AddDicomClient(new DicomStorageCommitClient(this, ActorNameEnum.ImageManager), actorConfig); }
public void ConfigActor(ActorConfig actorConfig) { 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(actorConfig); // set state to stopped _actorState = ActorStateEnum.ActorStopped; break; default: // actor is started - so cannot be (re)configured break; } }
protected override void ApplyConfig(ActorConfig actorConfig) { // for receiving Modality Procedure Step In Progress [RAD-6] // for receiving Modality Procedure Step Completed [RAD-7] AddDicomServer(new DicomMppsServer(this, ActorNameEnum.AcquisitionModality), actorConfig); // for receiving Creator Procedure Step In Progress [RAD-20] // for receiving Creator Procedure Step Completed [RAD-21] AddDicomServer(new DicomMppsServer(this, ActorNameEnum.EvidenceCreator), actorConfig); // 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(new DicomMppsClient(this, ActorNameEnum.DssOrderFiller), actorConfig); // 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(new DicomMppsClient(this, ActorNameEnum.ImageManager), actorConfig); }
/// <summary> /// Inserts an <see cref="ActorConfig"/> element into the <see cref="ActorConfigCollection"/> 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="ActorConfig"/> to insert.</param> public void Insert(int index, ActorConfig value) { List.Insert(index, value); }
/// <summary> /// Adds an object to the end of the <see cref="ActorConfigCollection"/>. /// </summary> /// <param name="value">The <see cref="ActorConfig"/> to be added to the end of the <see cref="ActorConfigCollection"/>.</param> /// <returns>The <see cref="ActorConfigCollection"/> index at which the value has been added.</returns> public int Add(ActorConfig value) { return(List.Add(value)); }
/// <summary> /// Adds an object to the end of the <see cref="ActorConfigCollection"/>. /// </summary> /// <param name="value">The <see cref="ActorConfig"/> to be added to the end of the <see cref="ActorConfigCollection"/>.</param> /// <returns>The <see cref="ActorConfigCollection"/> index at which the value has been added.</returns> public int Add(ActorConfig value) { return (List.Add(value)); }
protected abstract void ApplyConfig(ActorConfig actorConfig);
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; }
protected override void ApplyConfig(ActorConfig actorConfig) { // for sending Print Request with Presentation LUT [RAD-23] AddDicomClient(new DicomPrintClient(this, ActorNameEnum.PrintServer), actorConfig); }
/// <summary> /// Determines whether the <see cref="ActorConfigCollection"/> contains a specific element. /// </summary> /// <param name="value">The <see cref="ActorConfig"/> to locate in the <see cref="ActorConfigCollection"/>.</param> /// <returns> /// <c>true</c> if the <see cref="ActorConfigCollection"/> contains the specified value; /// otherwise, <c>false</c>. /// </returns> public bool Contains(ActorConfig value) { // If value is not of type Code, this will return false. return (List.Contains(value)); }
protected override void ApplyConfig(ActorConfig actorConfig) { // for receiving Print Request with Presentation LUT [RAD-23] AddDicomServer(new DicomPrintServer(this, ActorNameEnum.PrintComposer), actorConfig); }
/// <summary> /// Removes the first occurrence of a specific <see cref="ActorConfig"/> from the <see cref="ActorConfigCollection"/>. /// </summary> /// <param name="value">The <see cref="ActorConfig"/> to remove from the <see cref="ActorConfigCollection"/>.</param> public void Remove(ActorConfig value) { List.Remove(value); }
/// <summary> /// Determines whether the <see cref="ActorConfigCollection"/> contains a specific element. /// </summary> /// <param name="value">The <see cref="ActorConfig"/> to locate in the <see cref="ActorConfigCollection"/>.</param> /// <returns> /// <c>true</c> if the <see cref="ActorConfigCollection"/> contains the specified value; /// otherwise, <c>false</c>. /// </returns> public bool Contains(ActorConfig value) { // If value is not of type Code, this will return false. return(List.Contains(value)); }
/// <summary> /// Searches for the specified <see cref="ActorConfig"/> and /// returns the zero-based index of the first occurrence within the entire <see cref="ActorConfigCollection"/>. /// </summary> /// <param name="value">The <see cref="ActorConfig"/> to locate in the <see cref="ActorConfigCollection"/>.</param> /// <returns> /// The zero-based index of the first occurrence of value within the entire <see cref="ActorConfigCollection"/>, /// if found; otherwise, -1. /// </returns> public int IndexOf(ActorConfig value) { return (List.IndexOf(value)); }
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(); }
/// <summary> /// Searches for the specified <see cref="ActorConfig"/> and /// returns the zero-based index of the first occurrence within the entire <see cref="ActorConfigCollection"/>. /// </summary> /// <param name="value">The <see cref="ActorConfig"/> to locate in the <see cref="ActorConfigCollection"/>.</param> /// <returns> /// The zero-based index of the first occurrence of value within the entire <see cref="ActorConfigCollection"/>, /// if found; otherwise, -1. /// </returns> public int IndexOf(ActorConfig value) { return(List.IndexOf(value)); }
/// <summary> /// Copies the elements of the <see cref="ICollection"/> to a strong-typed <c>ActorConfig[]</c>, /// starting at a particular <c>ActorConfig[]</c> index. /// </summary> /// <param name="array"> /// The one-dimensional <c>ActorConfig[]</c> that is the destination of the elements /// copied from <see cref="ICollection"/>. /// The <c>ActorConfig[]</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(ActorConfig[] array, int index) { ((ICollection)this).CopyTo(array, index); }
protected void AddDicomClient(DicomClient dicomClient, ActorConfig actorConfig) { int index = DicomConfigPresent(dicomClient.ActorName, actorConfig); if (index != -1) { dicomClient.ApplyConfig( (DicomConfig)actorConfig[index]); _dicomClients.Add(dicomClient.ActorName, dicomClient); } }