private void RefreshProcedurePlanSummary(ProcedurePlanDetail procedurePlanDetail)
        {
            _procedurePlan = procedurePlanDetail;

            try
            {
                Platform.GetService <IModalityWorkflowService>(service =>
                {
                    var response = service.CanCompleteOrderDocumentation(
                        new CanCompleteOrderDocumentationRequest(_procedurePlan.OrderRef));

                    _completeEnabled  = response.CanComplete;
                    _alreadyCompleted = response.AlreadyCompleted;
                    this.NotifyPropertyChanged("CompleteEnabled");
                });
            }
            catch (Exception e)
            {
                ExceptionHandler.Report(e, this.Host.DesktopWindow);
            }

            _procedurePlanSummaryTable.Items.Clear();
            foreach (var rp in procedurePlanDetail.Procedures)
            {
                foreach (var mps in rp.ProcedureSteps)
                {
                    _procedurePlanSummaryTable.Items.Add(
                        new Checkable <ProcedurePlanSummaryTableItem>(
                            new ProcedurePlanSummaryTableItem(rp, mps)));
                }
            }
            _procedurePlanSummaryTable.Sort();

            EventsHelper.Fire(_procedurePlanChanged, this, EventArgs.Empty);
        }
        private void InitializeProcedurePlanSummary()
        {
            _procedurePlanSummaryTable = new ProcedurePlanSummaryTable();
            _procedurePlanSummaryTable.CheckedRowsChanged += ((sender, args) => UpdateActionEnablement());

            Platform.GetService <IModalityWorkflowService>(service =>
            {
                var procedurePlanRequest  = new GetProcedurePlanRequest(_worklistItem.OrderRef);
                var procedurePlanResponse = service.GetProcedurePlan(procedurePlanRequest);
                _procedurePlan            = procedurePlanResponse.ProcedurePlan;
            });

            RefreshProcedurePlanSummary(_procedurePlan);

            Platform.GetService <IModalityWorkflowService>(service =>
            {
                var response             = service.LoadOrderDocumentationData(new LoadOrderDocumentationDataRequest(_worklistItem.OrderRef));
                _orderExtendedProperties = response.OrderExtendedProperties;
                _orderNotes = response.OrderNotes;
                this.AssignedRadiologist = response.AssignedInterpreter;
            });

            InitializeProcedurePlanSummaryActionHandlers();
        }
예제 #3
0
        public ProcedurePlanDetail CreateProcedurePlanSummary(Order order, IPersistenceContext context)
        {
            ProcedurePlanDetail detail = new ProcedurePlanDetail();

            ProcedureAssembler assembler      = new ProcedureAssembler();
            StaffAssembler     staffAssembler = new StaffAssembler();

            detail.OrderRef   = order.GetRef();
            detail.Procedures = CollectionUtils.Map <Procedure, ProcedureDetail>(
                order.Procedures,
                delegate(Procedure rp)
            {
                return(assembler.CreateProcedureDetail(
                           rp,
                           delegate(ProcedureStep ps) { return ps.Is <ModalityProcedureStep>(); },     // only MPS are relevant here
                           false,
                           context));
            });
            detail.DiagnosticServiceSummary =
                new DiagnosticServiceSummary(order.DiagnosticService.GetRef(), order.DiagnosticService.Id, order.DiagnosticService.Name, order.DiagnosticService.Deactivated);


            return(detail);
        }
		public CompleteModalityPerformedProcedureStepResponse(ProcedurePlanDetail procedurePlan, ModalityPerformedProcedureStepDetail stoppedMpps)
		{
			ProcedurePlan = procedurePlan;
			StoppedMpps = stoppedMpps;
		}
예제 #5
0
 public DiscontinueModalityPerformedProcedureStepResponse(ProcedurePlanDetail procedurePlan, ModalityPerformedProcedureStepDetail discontinuedMpps)
 {
     ProcedurePlan    = procedurePlan;
     DiscontinuedMpps = discontinuedMpps;
 }
예제 #6
0
 public GetProcedurePlanForProtocollingWorklistItemResponse(ProcedurePlanDetail procedurePlanDetail)
 {
     this.ProcedurePlan = procedurePlanDetail;
 }
		public SaveOrderDocumentationDataResponse(ProcedurePlanDetail procedurePlan)
		{
			ProcedurePlan = procedurePlan;
		}
		public GetProcedurePlanResponse(ProcedurePlanDetail procedurePlan)
		{
			ProcedurePlan = procedurePlan;
		}
 private void RefreshProcedurePlanTree(ProcedurePlanDetail procedurePlanDetail)
 {
     _orderRef = procedurePlanDetail.OrderRef;
     EventsHelper.Fire(_procedurePlanChanged, this, new ProcedurePlanChangedEventArgs(procedurePlanDetail));
 }
 public DiscontinueModalityProcedureStepsResponse(ProcedurePlanDetail procedurePlan)
 {
     ProcedurePlan = procedurePlan;
 }
예제 #11
0
 public StartModalityProcedureStepsResponse(ProcedurePlanDetail procedurePlan, ModalityPerformedProcedureStepDetail startedMpps)
 {
     ProcedurePlan = procedurePlan;
     StartedMpps   = startedMpps;
 }
예제 #12
0
 public ProcedurePlanChangedEventArgs(ProcedurePlanDetail procedurePlanDetail)
 {
     _procedurePlanDetail = procedurePlanDetail;
 }
예제 #13
0
 public CompleteModalityPerformedProcedureStepResponse(ProcedurePlanDetail procedurePlan, ModalityPerformedProcedureStepDetail stoppedMpps)
 {
     ProcedurePlan = procedurePlan;
     StoppedMpps   = stoppedMpps;
 }
		public StartModalityProcedureStepsResponse(ProcedurePlanDetail procedurePlan, ModalityPerformedProcedureStepDetail startedMpps)
		{
			ProcedurePlan = procedurePlan;
			StartedMpps = startedMpps;
		}
		public DiscontinueModalityPerformedProcedureStepResponse(ProcedurePlanDetail procedurePlan, ModalityPerformedProcedureStepDetail discontinuedMpps)
		{
			ProcedurePlan = procedurePlan;
			DiscontinuedMpps = discontinuedMpps;
		}
예제 #16
0
 public SaveOrderDocumentationDataResponse(ProcedurePlanDetail procedurePlan)
 {
     ProcedurePlan = procedurePlan;
 }
		public DiscontinueModalityProcedureStepsResponse(ProcedurePlanDetail procedurePlan)
		{
			ProcedurePlan = procedurePlan;
		}
예제 #18
0
 public GetProcedurePlanResponse(ProcedurePlanDetail procedurePlan)
 {
     ProcedurePlan = procedurePlan;
 }