public List <InterpretationStep> Execute(ReportingProcedureStep step, Staff executingStaff, Staff assignStaff, IWorkflow workflow) { step.Discontinue(); // cancel the report part if exists if (step.ReportPart != null) { step.ReportPart.Cancel(); } var interpretationSteps = new List <InterpretationStep>(); if (!IsAddendumStep(step)) { var procedures = new HashedSet <Procedure> { step.Procedure }; // if there are linked procedures, schedule a new interpretation for each procedure being reported if (step.ReportPart != null) { procedures.AddAll(step.ReportPart.Report.Procedures); } // schedule new interpretations foreach (var procedure in procedures) { var interpretationStep = new InterpretationStep(procedure); // Bug: #5128 - if the procedure is not document, do not schedule the replacement interpretation step, // since interpretation steps aren't scheduled until documentation is complete. if (procedure.IsDocumented) { interpretationStep.Schedule(procedure.PerformedTime); } if (assignStaff != null) { interpretationStep.Assign(assignStaff); } interpretationSteps.Add(interpretationStep); workflow.AddEntity(interpretationStep); } } return(interpretationSteps); }
public InterpretationStep Execute(PublicationStep step, Staff executingStaff, IWorkflow workflow) { // Discontinue the publication step step.Discontinue(); // Create a new interpreatation step that uses the same report part var interpretationStep = new InterpretationStep(step); // Reset the verifier interpretationStep.ReportPart.Verifier = null; // Assign the new step back to me interpretationStep.Assign(executingStaff); interpretationStep.Schedule(Platform.Time); workflow.AddEntity(interpretationStep); return(interpretationStep); }
public InterpretationStep Execute(ReportingProcedureStep step, IWorkflow workflow) { // Cancel the current step step.Discontinue(); // Create a new interpreatation step that uses the same report part var interpretationStep = new InterpretationStep(step); // Reset the verifier interpretationStep.ReportPart.Verifier = null; // Assign the new step to the interpreter var interpreter = interpretationStep.ReportPart.Interpreter; interpretationStep.Assign(interpreter); interpretationStep.Schedule(Platform.Time); workflow.AddEntity(interpretationStep); return(interpretationStep); }
public InterpretationStep Execute(PublicationStep step, Staff executingStaff, IWorkflow workflow) { // Discontinue the publication step step.Discontinue(); // Create a new interpreatation step that uses the same report part var interpretationStep = new InterpretationStep(step); // Reset the verifier interpretationStep.ReportPart.Verifier = null; // Assign the new step back to me interpretationStep.Assign(executingStaff); interpretationStep.Schedule(Platform.Time); workflow.AddEntity(interpretationStep); return interpretationStep; }
public InterpretationStep Execute(ReportingProcedureStep step, IWorkflow workflow) { // Cancel the current step step.Discontinue(); // Create a new interpreatation step that uses the same report part var interpretationStep = new InterpretationStep(step); // Reset the verifier interpretationStep.ReportPart.Verifier = null; // Assign the new step to the interpreter var interpreter = interpretationStep.ReportPart.Interpreter; interpretationStep.Assign(interpreter); interpretationStep.Schedule(Platform.Time); workflow.AddEntity(interpretationStep); return interpretationStep; }
public List<InterpretationStep> Execute(ReportingProcedureStep step, Staff executingStaff, Staff assignStaff, IWorkflow workflow) { step.Discontinue(); // cancel the report part if exists if (step.ReportPart != null) step.ReportPart.Cancel(); var interpretationSteps = new List<InterpretationStep>(); if (!IsAddendumStep(step)) { var procedures = new HashedSet<Procedure> { step.Procedure }; // if there are linked procedures, schedule a new interpretation for each procedure being reported if (step.ReportPart != null) { procedures.AddAll(step.ReportPart.Report.Procedures); } // schedule new interpretations foreach (var procedure in procedures) { var interpretationStep = new InterpretationStep(procedure); // Bug: #5128 - if the procedure is not document, do not schedule the replacement interpretation step, // since interpretation steps aren't scheduled until documentation is complete. if (procedure.IsDocumented) interpretationStep.Schedule(procedure.PerformedTime); if (assignStaff != null) interpretationStep.Assign(assignStaff); interpretationSteps.Add(interpretationStep); workflow.AddEntity(interpretationStep); } } return interpretationSteps; }