コード例 #1
0
        private void LoadMppsForOrder()
        {
            _mppsTable.Items.Clear();
            var order = _reportingContext.Order;

            if (order == null || order.OrderRef == null)
            {
                return;
            }

            Platform.GetService <IModalityWorkflowService>(
                service =>
            {
                var mppsRequest  = new ListPerformedProcedureStepsRequest(order.OrderRef);
                var mppsResponse = service.ListPerformedProcedureSteps(mppsRequest);

                _mppsTable.Items.AddRange(mppsResponse.PerformedProcedureSteps);
                _mppsTable.Sort();
            });
        }
コード例 #2
0
        public ListPerformedProcedureStepsResponse ListPerformedProcedureSteps(ListPerformedProcedureStepsRequest request)
        {
            var order = this.PersistenceContext.Load <Order>(request.OrderRef);

            var assembler = new ModalityPerformedProcedureStepAssembler();

            var mppsSet = new HashedSet <PerformedStep>();

            foreach (var procedure in order.Procedures)
            {
                foreach (var mps in procedure.ModalityProcedureSteps)
                {
                    mppsSet.AddAll(mps.PerformedSteps);
                }
            }

            return(new ListPerformedProcedureStepsResponse(
                       CollectionUtils.Map <ModalityPerformedProcedureStep, ModalityPerformedProcedureStepDetail>(
                           mppsSet,
                           mpps => assembler.CreateModalityPerformedProcedureStepDetail(mpps, this.PersistenceContext))));
        }
コード例 #3
0
        public override void Start()
        {
            var resolver = new ResourceResolver(this.GetType().Assembly);

            _mppsActionHandler = new SimpleActionModel(resolver);

            _stopAction        = _mppsActionHandler.AddAction("stop", SR.TitleStopMpps, "Icons.CheckInToolSmall.png", SR.TitleStopMpps, StopPerformedProcedureStep);
            _discontinueAction = _mppsActionHandler.AddAction("discontinue", SR.TitleDiscontinueMpps, "Icons.DeleteToolSmall.png", SR.TitleDiscontinueMpps, DiscontinuePerformedProcedureStep);
            UpdateActionEnablement();

            if (_orderRef != null)
            {
                Platform.GetService <IModalityWorkflowService>(
                    service =>
                {
                    var mppsRequest  = new ListPerformedProcedureStepsRequest(_orderRef);
                    var mppsResponse = service.ListPerformedProcedureSteps(mppsRequest);

                    _mppsTable.Items.AddRange(mppsResponse.PerformedProcedureSteps);
                    _mppsTable.Sort();
                });
            }

            // create extension editor pages, if any exist
            foreach (IPerformedStepEditorPageProvider provider in (new PerformedStepEditorPageProviderExtensionPoint().CreateExtensions()))
            {
                _editorPages.AddRange(provider.GetPages(new EditorContext(this)));
            }

            // if no editor pages are available via extensions, create the default editor
            if (_editorPages.Count == 0)
            {
                _editorPages.Add(new MppsDocumentationComponent(new EditorContext(this)));

                if (PerformingDocumentationComponentSettings.Default.ShowDicomSeriesTab)
                {
                    _editorPages.Add(new PerformedProcedureDicomSeriesComponent(new EditorContext(this)));
                }
            }


            // if there are multiple pages, need to create a tab container
            if (_editorPages.Count > 1)
            {
                var tabContainer = new TabComponentContainer();
                _detailsPagesHost = new ChildComponentHost(this.Host, tabContainer);
                foreach (var page in _editorPages)
                {
                    tabContainer.Pages.Add(new TabPage(page.Path, page.GetComponent()));
                }
            }
            else
            {
                // don't create a tab container for just one page
                _detailsPagesHost = new ChildComponentHost(this.Host, _editorPages[0].GetComponent());
            }

            // start details pages host
            _detailsPagesHost.StartComponent();

            base.Start();
        }