public void UpdateProcedureType(ProcedureType procType, ProcedureTypeDetail detail, IPersistenceContext context) { procType.Id = detail.Id; procType.Name = detail.Name; procType.BaseType = detail.CustomProcedurePlan && detail.BaseType != null ? context.Load<ProcedureType>(detail.BaseType.ProcedureTypeRef, EntityLoadFlags.Proxy) : null; procType.DefaultDuration = detail.DefaultDuration; procType.Deactivated = detail.Deactivated; try { if(detail.CustomProcedurePlan) { procType.Plan = new ProcedurePlan(detail.PlanXml); } else { var modality = context.Load<Modality>(detail.DefaultModality.ModalityRef); procType.Plan = ProcedurePlan.CreateDefaultPlan(detail.Name, modality); } } catch (XmlException e) { throw new RequestValidationException(string.Format("Procedure plan XML is invalid: {0}", e.Message)); } }
public Procedure(ProcedureType type, string procedureNumber, string studyInstanceUid) { _type = type; _number = procedureNumber; _procedureSteps = new HashedSet<ProcedureStep>(); _procedureCheckIn = new ProcedureCheckIn(); _reports = new HashedSet<Report>(); _protocols = new HashedSet<Protocol>(); _scheduledDuration = type.DefaultDuration; _studyInstanceUID = studyInstanceUid; }
public Procedure(ProcedureType type, string procedureNumber, string studyInstanceUid) { _type = type; _number = procedureNumber; _procedureSteps = new HashedSet <ProcedureStep>(); _procedureCheckIn = new ProcedureCheckIn(); _reports = new HashedSet <Report>(); _protocols = new HashedSet <Protocol>(); _scheduledDuration = type.DefaultDuration; _studyInstanceUID = studyInstanceUid; }
private static void BuildProcedureFromPlan(Procedure procedure, ProcedureType type) { // if the type specifies a base type, apply it first if (type.BaseType != null) { BuildProcedureFromPlan(procedure, type.BaseType); } else { // otherwise use the root plan as the base plan BuildProcedureFromPlan(procedure, ProcedurePlan.GetRootPlan()); } BuildProcedureFromPlan(procedure, type.Plan); }
public ProcedureTypeDetail CreateDetail(ProcedureType procedureType, IPersistenceContext context) { if(procedureType.Plan.IsDefault) { var modalityAssembler = new ModalityAssembler(); return new ProcedureTypeDetail( procedureType.GetRef(), procedureType.Id, procedureType.Name, procedureType.Plan.DefaultModality == null ? null : modalityAssembler.CreateModalitySummary(procedureType.Plan.DefaultModality), procedureType.DefaultDuration, procedureType.Deactivated); } return new ProcedureTypeDetail( procedureType.GetRef(), procedureType.Id, procedureType.Name, procedureType.BaseType == null ? null : CreateSummary(procedureType.BaseType), procedureType.Plan.ToString(), procedureType.DefaultDuration, procedureType.Deactivated); }
public AddProcedureTypeResponse AddProcedureType(AddProcedureTypeRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.ProcedureType, "request.ProcedureType"); var item = new ProcedureType(); var assembler = new ProcedureTypeAssembler(); assembler.UpdateProcedureType(item, request.ProcedureType, PersistenceContext); PersistenceContext.Lock(item, DirtyState.New); PersistenceContext.SynchState(); return new AddProcedureTypeResponse(assembler.CreateSummary(item)); }
public ProcedureTypeSummary CreateSummary(ProcedureType rpt) { return new ProcedureTypeSummary(rpt.GetRef(), rpt.Name, rpt.Id, rpt.DefaultDuration, rpt.Deactivated); }