public void UpdateModality(ModalityDetail detail, Modality modality, IPersistenceContext context)
		{
			modality.Id = detail.Id;
			modality.Name = detail.Name;
			modality.Facility = detail.Facility == null ? null : context.Load<Facility>(detail.Facility.FacilityRef, EntityLoadFlags.Proxy);
			modality.AETitle = detail.AETitle;
			modality.DicomModality = EnumUtils.GetEnumValue<DicomModalityEnum>(detail.DicomModality, context);
			modality.Deactivated = detail.Deactivated;
		}
		public ModalityDetail CreateModalityDetail(Modality modality)
		{
			var facilityAssember = new FacilityAssembler();
			return new ModalityDetail(
				modality.GetRef(),
				modality.Id,
				modality.Name,
				modality.Facility == null ? null : facilityAssember.CreateFacilitySummary(modality.Facility),
				modality.AETitle,
				EnumUtils.GetEnumValueInfo(modality.DicomModality),
				modality.Deactivated);
		}
Example #3
0
		public AddModalityResponse AddModality(AddModalityRequest request)
		{
			var modality = new Modality();
			var assembler = new ModalityAssembler();
			assembler.UpdateModality(request.ModalityDetail, modality, this.PersistenceContext);

			PersistenceContext.Lock(modality, DirtyState.New);

			// ensure the new modality is assigned an OID before using it in the return value
			PersistenceContext.SynchState();

			return new AddModalityResponse(assembler.CreateModalitySummary(modality));
		}
Example #4
0
		/// <summary>
		/// Creates an instance of a default plan for the specified procedure name and default modality.
		/// </summary>
		/// <param name="procedureName"></param>
		/// <param name="defaultModality"></param>
		/// <returns></returns>
		public static ProcedurePlan CreateDefaultPlan(string procedureName, Modality defaultModality)
		{
			Platform.CheckForNullReference(procedureName, "procedureName");
			Platform.CheckForNullReference(defaultModality, "defaultModality");

			// create the default procedure plan, which has exactly one MPS referencing the default modality
			var planXml = new XmlDocument();
			var planNode = planXml.CreateElement("procedure-plan");
			planXml.AppendChild(planNode);
			planNode.SetAttribute("type", "default");	// this is the default plan

			var stepsNode = planXml.CreateElement("procedure-steps");
			planNode.AppendChild(stepsNode);
			var stepNode = planXml.CreateElement("procedure-step");
			stepsNode.AppendChild(stepNode);
			stepNode.SetAttribute("class", "ClearCanvas.Healthcare.ModalityProcedureStep");
			stepNode.SetAttribute("description", procedureName);
			stepNode.SetAttribute("modality", defaultModality.Id);

			return new ProcedurePlan(planXml);
		}
Example #5
0
        private void ParseOnce()
        {
            if (_parsed)
            {
                return;
            }

            var type = _planXml.DocumentElement == null ? null : _planXml.DocumentElement.GetAttribute("type");

            if (type == "default")
            {
                _isDefault = true;
                var mpsNodes = _planXml.SelectNodes("procedure-plan/procedure-steps/procedure-step[@class='ClearCanvas.Healthcare.ModalityProcedureStep']");
                var mpsNode  = mpsNodes == null ? null : mpsNodes.Cast <XmlElement>().FirstOrDefault();
                if (mpsNode != null)
                {
                    var where = new ModalitySearchCriteria();
                    where.Id.EqualTo(mpsNode.GetAttribute("modality"));
                    _defaultModality = PersistenceScope.CurrentContext.GetBroker <IModalityBroker>().FindOne(where);
                }
            }
            _parsed = true;
        }
Example #6
0
        /// <summary>
        /// Creates an instance of a default plan for the specified procedure name and default modality.
        /// </summary>
        /// <param name="procedureName"></param>
        /// <param name="defaultModality"></param>
        /// <returns></returns>
        public static ProcedurePlan CreateDefaultPlan(string procedureName, Modality defaultModality)
        {
            Platform.CheckForNullReference(procedureName, "procedureName");
            Platform.CheckForNullReference(defaultModality, "defaultModality");

            // create the default procedure plan, which has exactly one MPS referencing the default modality
            var planXml  = new XmlDocument();
            var planNode = planXml.CreateElement("procedure-plan");

            planXml.AppendChild(planNode);
            planNode.SetAttribute("type", "default");                   // this is the default plan

            var stepsNode = planXml.CreateElement("procedure-steps");

            planNode.AppendChild(stepsNode);
            var stepNode = planXml.CreateElement("procedure-step");

            stepsNode.AppendChild(stepNode);
            stepNode.SetAttribute("class", "ClearCanvas.Healthcare.ModalityProcedureStep");
            stepNode.SetAttribute("description", procedureName);
            stepNode.SetAttribute("modality", defaultModality.Id);

            return(new ProcedurePlan(planXml));
        }
Example #7
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="procedure"></param>
 /// <param name="description"></param>
 /// <param name="modality"></param>
 public ModalityProcedureStep(Procedure procedure, string description, Modality modality)
     : base(procedure)
 {
     _description = description;
     _modality    = modality;
 }
Example #8
0
		private void ParseOnce()
		{
			if (_parsed)
				return;

			var type = _planXml.DocumentElement == null ? null : _planXml.DocumentElement.GetAttribute("type");
			if (type == "default")
			{
				_isDefault = true;
				var mpsNodes = _planXml.SelectNodes("procedure-plan/procedure-steps/procedure-step[@class='ClearCanvas.Healthcare.ModalityProcedureStep']");
				var mpsNode = mpsNodes == null ? null : mpsNodes.Cast<XmlElement>().FirstOrDefault();
				if (mpsNode != null)
				{
					var where = new ModalitySearchCriteria();
					where.Id.EqualTo(mpsNode.GetAttribute("modality"));
					_defaultModality = PersistenceScope.CurrentContext.GetBroker<IModalityBroker>().FindOne(where);
				}
			}
			_parsed = true;
		}
Example #9
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="procedure"></param>
 /// <param name="description"></param>
 /// <param name="modality"></param>
 public ModalityProcedureStep(Procedure procedure, string description, Modality modality)
     :base(procedure)
 {
     _description = description;
     _modality = modality;
 }