public override void Start() { _xmlValidationManager = XmlValidationManager.Instance; // try to load existing rules // if this fails, an exception will be thrown, preventing this component from starting var rules = CollectionUtils.Map(_xmlValidationManager.GetRules(_applicationComponentClass), (XmlElement node) => new Rule(node.OuterXml, _liveComponent)); _rules.Items.AddRange(rules); _componentProperties = CollectionUtils.Select(_applicationComponentClass.GetProperties(), p => !p.DeclaringType.Equals(typeof(IApplicationComponent)) && !p.DeclaringType.Equals(typeof(ApplicationComponent))); _rulesActionModel = new CrudActionModel(true, false, true); _rulesActionModel.Add.SetClickHandler(AddNewRule); _rulesActionModel.Delete.SetClickHandler(DeleteSelectedRule); _rulesActionModel.Delete.Enabled = false; _editor = CodeEditorFactory.CreateCodeEditor(); _editor.Language = "xml"; _editorHost = new ChildComponentHost(this.Host, _editor.GetComponent()); _editorHost.StartComponent(); base.Start(); }
public override void Start() { // create the diff component _diffComponentHost = new ChildComponentHost(this.Host, _diffComponent = new PatientProfileDiffComponent()); _diffComponentHost.StartComponent(); // add all target profiles - ensure the initially selected one is at the top of the list _targetProfileTable = new PatientProfileTable(); _targetProfileTable.Items.Add(_selectedTargetProfile); foreach (var profile in _targetProfiles) { if (!profile.PatientProfileRef.Equals(_selectedTargetProfile.PatientProfileRef, true)) { _targetProfileTable.Items.Add(profile); } } _reconciliationProfileTable = new ReconciliationCandidateTable(); foreach (var match in _candidates) { var entry = new ReconciliationCandidateTableEntry(match); entry.CheckedChanged += CandidateCheckedChangedEventHandler; _reconciliationProfileTable.Items.Add(entry); } base.Start(); }
public override void Start() { _orderNoteComponent = new OrderNoteSummaryComponent(OrderNoteCategory.General); _orderNotesComponentHost = new ChildComponentHost(this.Host, _orderNoteComponent); _orderNotesComponentHost.StartComponent(); _orderNoteComponent.Notes = _context.OrderNotes; _protocolSummaryComponentHost = new ChildComponentHost(this.Host, new ProtocolSummaryComponent(_context)); _protocolSummaryComponentHost.StartComponent(); _rightHandComponentContainer = new TabComponentContainer(); _orderAttachmentsComponent = new AttachedDocumentPreviewComponent(true, AttachmentSite.Order) { OrderRef = _context.OrderRef }; _rightHandComponentContainer.Pages.Add(new TabPage(SR.TitleOrderAttachments, _orderAttachmentsComponent)); // instantiate all extension pages foreach (IPerformingDocumentationOrderDetailsPageProvider pageProvider in new PerformingDocumentationOrderDetailsPageProviderExtensionPoint().CreateExtensions()) { _extensionPages.AddRange(pageProvider.GetPages(new PerformingDocumentationOrderDetailsContext(this))); } // add extension pages to container and set initial context // the container will start those components if the user goes to that page foreach (var page in _extensionPages) { _rightHandComponentContainer.Pages.Add(new TabPage(page.Path, page.GetComponent())); } _rightHandComponentContainerHost = new ChildComponentHost(this.Host, _rightHandComponentContainer); _rightHandComponentContainerHost.StartComponent(); base.Start(); }
public override void Start() { _worklistPrintPreviewComponent = new WorklistPrintViewComponent(_printContext); _worklistPrintPreviewComponentHost = new ChildComponentHost(this.Host, _worklistPrintPreviewComponent); _worklistPrintPreviewComponentHost.StartComponent(); base.Start(); }
public override void Start() { _reportViewComponentHost = new ChildComponentHost(this.Host, new ReportViewComponent(this)); _reportViewComponentHost.StartComponent(); UpdateReportList(); base.Start(); }
public override void Start() { _profileViewComponent = new ProfileViewComponent(); _profileViewComponentHost = new ChildComponentHost(this.Host, _profileViewComponent); _profileViewComponentHost.StartComponent(); LoadPatientProfile(); base.Start(); }
public override void Start() { _visitDetailComponent = new BiographyVisitDetailViewComponent(); _visitDetailComponentHost = new ChildComponentHost(this.Host, _visitDetailComponent); _visitDetailComponentHost.StartComponent(); LoadVisits(); base.Start(); }
/// <summary> /// Called by the host to initialize the application component. /// </summary> public override void Start() { _reportPreviewComponent = new ReportPreviewComponent(null); _reportPreviewComponentHost = new ChildComponentHost(this.Host, _reportPreviewComponent); _reportPreviewComponentHost.StartComponent(); RefreshComponent(); _toolSet = new ToolSet(new BiographyOrderReportsToolExtensionPoint(), new BiographyOrderReportsToolContext(this)); base.Start(); }
/// <summary> /// Called by the host to initialize the application component. /// </summary> public override void Start() { // init lookup handlers _cannedTextLookupHandler = new CannedTextLookupHandler(this.Host.DesktopWindow); // init recip table here, and not in constructor, because it relies on Host being set _recipients = new RecipientTable(this); // if exactly 1 template choice, then it is selected _selectedTemplate = _templateChoices.Count == 1 ? _templateChoices[0] : null; // create soft keys UpdateSoftKeys(); // load the existing conversation, plus editor form data GetConversationEditorFormDataResponse formDataResponse = null; Platform.GetService <IOrderNoteService>( service => { var formDataRequest = new GetConversationEditorFormDataRequest( _selectedTemplate != null ? _selectedTemplate.GetStaffRecipients() : new List <string>(), _selectedTemplate != null ? _selectedTemplate.GetGroupRecipients() : new List <string>()); formDataResponse = service.GetConversationEditorFormData(formDataRequest); var request = new GetConversationRequest(_orderRef, new List <string>(_orderNoteCategories), false); var response = service.GetConversation(request); _orderRef = response.OrderRef; _orderNotes = response.OrderNotes; }); // init on-behalf of choices _onBehalfOfChoices = formDataResponse.OnBehalfOfGroupChoices; _onBehalfOfChoices.Insert(0, _emptyStaffGroup); // initialize from template (which may be null) InitializeFromTemplate(_selectedTemplate, formDataResponse.RecipientStaffs, formDataResponse.RecipientStaffGroups); // build the action model _recipientsActionModel = new CrudActionModel(true, false, true, new ResourceResolver(this.GetType(), true)); _recipientsActionModel.Add.SetClickHandler(AddRecipient); _recipientsActionModel.Delete.SetClickHandler(DeleteRecipient); // init conversation view component _orderNoteViewComponent = new OrderNoteViewComponent(_orderNotes); _orderNoteViewComponent.CheckedItemsChanged += delegate { NotifyPropertyChanged("CompleteButtonLabel"); }; _orderNotesComponentHost = new ChildComponentHost(this.Host, _orderNoteViewComponent); _orderNotesComponentHost.StartComponent(); base.Start(); }
/// <summary> /// Called by the host to initialize the application component. /// </summary> public override void Start() { _cannedTextLookupHandler = new CannedTextLookupHandler(this.Host.DesktopWindow); LoadOrCreateReportContent(); _previewComponent.SetUrl(this.PreviewUrl); _previewHost = new ChildComponentHost(this.Host, _previewComponent); _previewHost.StartComponent(); _context.WorklistItemChanged += WorklistItemChangedEventHandler; base.Start(); }
public override void Start() { _mergedOrderViewComponentContainer = new TabComponentContainer(); _mergedOrderPreviewComponentHost = new ChildComponentHost(this.Host, _mergedOrderViewComponentContainer); _mergedOrderPreviewComponentHost.StartComponent(); _mergedOrderViewComponentContainer.Pages.Add(new TabPage(SR.TitleOrder, _orderPreviewComponent = new MergedOrderDetailViewComponent())); _mergedOrderViewComponentContainer.Pages.Add(new TabPage(SR.TitleOrderAttachments, _attachmentSummaryComponent = new AttachedDocumentPreviewComponent(true, AttachmentSite.Order))); // instantiate all extension pages foreach (IMergeOrdersPageProvider pageProvider in new MergeOrdersPageProviderExtensionPoint().CreateExtensions()) { _extensionPages.AddRange(pageProvider.GetPages(_extensionPageContext)); } // add extension pages to container and set initial context // the container will start those components if the user goes to that page foreach (var page in _extensionPages) { _mergedOrderViewComponentContainer.Pages.Add(new TabPage(page.Path, page.GetComponent())); } // Load form data Platform.GetService( delegate(IBrowsePatientDataService service) { var request = new GetDataRequest { GetOrderDetailRequest = new GetOrderDetailRequest() }; foreach (var orderRef in _orderRefs) { request.GetOrderDetailRequest.OrderRef = orderRef; var response = service.GetData(request); _ordersTable.Items.Add(response.GetOrderDetailResponse.Order); } }); _ordersTable.Sort(); // Re-populate orderRef list by sorted accession number _orderRefs.Clear(); _orderRefs.AddRange(CollectionUtils.Map <OrderDetail, EntityRef>(_ordersTable.Items, item => item.OrderRef)); _selectedOrder = CollectionUtils.FirstElement(_ordersTable.Items); DryRunForSelectedOrder(); base.Start(); }
public override void Start() { // Create component for each tab _bannerComponent = new BannerComponent(); _orderHistoryComponent = new BiographyOrderHistoryComponent(_initialSelectedOrderRef) { PatientRef = _patientRef }; _demographicComponent = new BiographyDemographicComponent { DefaultProfileRef = _profileRef, PatientRef = _patientRef }; _documentComponent = new AttachedDocumentPreviewComponent(true, AttachmentSite.Patient); _noteComponent = new BiographyNoteComponent(); _allergyComponent = new PatientAllergiesComponent(); // Create tab and tab groups _pagesContainer = new TabComponentContainer(); _pagesContainer.Pages.Add(new TabPage(SR.TitleOrders, _orderHistoryComponent)); if (new WorkflowConfigurationReader().EnableVisitWorkflow) { _visitHistoryComponent = new BiographyVisitHistoryComponent { PatientRef = _patientRef }; _pagesContainer.Pages.Add(new TabPage(SR.TitleVisits, _visitHistoryComponent)); } _pagesContainer.Pages.Add(new TabPage(SR.TitleDemographicProfiles, _demographicComponent)); _pagesContainer.Pages.Add(new TabPage(SR.TitlePatientAttachments, _documentComponent)); _pagesContainer.Pages.Add(new TabPage(SR.TitlePatientNotes, _noteComponent)); //_pagesContainer.Pages.Add(new TabPage(SR.TitlePatientAllergies, _allergyComponent)); var tabGroupContainer = new TabGroupComponentContainer(LayoutDirection.Horizontal); tabGroupContainer.AddTabGroup(new TabGroup(_pagesContainer, 1.0f)); _contentComponentHost = new ChildComponentHost(this.Host, tabGroupContainer); _contentComponentHost.StartComponent(); _bannerComponentHost = new ChildComponentHost(this.Host, _bannerComponent); _bannerComponentHost.StartComponent(); _toolSet = new ToolSet(new PatientBiographyToolExtensionPoint(), new PatientBiographyToolContext(this)); LoadPatientProfile(); base.Start(); }
/// <summary> /// Called by the host to initialize the application component. /// </summary> public override void Start() { this.Validation.Add(new ValidationRule("Supervisor", delegate { var ok = _supervisor != null || SubmitForReviewVisible == false; return(new ValidationResult(ok, SR.MessageChooseRadiologist)); })); //// create supervisor lookup handler, using filters supplied in application settings var filters = TranscriptionSettings.Default.SupervisorStaffTypeFilters; var staffTypes = string.IsNullOrEmpty(filters) ? new string[] { } : CollectionUtils.Map <string, string>(filters.Split(','), s => s.Trim()).ToArray(); _supervisorLookupHandler = new StaffLookupHandler(this.Host.DesktopWindow, staffTypes); StartTranscribingWorklistItem(); _bannerHost = new ChildComponentHost(this.Host, new BannerComponent(this.WorklistItem)); _bannerHost.StartComponent(); _rightHandComponentContainer = new TabComponentContainer { ValidationStrategy = new AllComponentsValidationStrategy() }; _orderComponent = new ReportingOrderDetailViewComponent(this.WorklistItem.PatientRef, this.WorklistItem.OrderRef); _rightHandComponentContainer.Pages.Add(new TabPage("Order", _orderComponent)); _rightHandComponentContainerHost = new ChildComponentHost(this.Host, _rightHandComponentContainer); _rightHandComponentContainerHost.StartComponent(); // check for a report editor provider. If not found, use the default one var transcriptionEditorProvider = CollectionUtils.FirstElement <ITranscriptionEditorProvider>( new TranscriptionEditorProviderExtensionPoint().CreateExtensions()); _transcriptionEditor = transcriptionEditorProvider == null ? new TranscriptionEditorComponent(new TranscriptionEditorContext(this)) : transcriptionEditorProvider.GetEditor(new TranscriptionEditorContext(this)); _transcriptionEditorHost = new ChildComponentHost(this.Host, _transcriptionEditor.GetComponent()); _transcriptionEditorHost.StartComponent(); _transcriptionEditorHost.Component.ModifiedChanged += ((sender, args) => this.Modified = this.Modified || _transcriptionEditorHost.Component.Modified); base.Start(); }
public override void Start() { StartProtocollingWorklistItem(); this.Host.Title = ProtocolDocument.GetTitle(this.WorklistItem); _bannerComponentHost = new ChildComponentHost(this.Host, new BannerComponent(this.WorklistItem)); _bannerComponentHost.StartComponent(); _orderNotesComponentHost = new ChildComponentHost(this.Host, new OrderNoteSummaryComponent(OrderNoteCategory.Protocol, this.SaveEnabled)); _orderNotesComponentHost.StartComponent(); ((OrderNoteSummaryComponent)_orderNotesComponentHost.Component).Notes = _notes; _orderNotesComponentHost.Component.ModifiedChanged += ((sender, args) => this.Modified = this.Modified || _orderNotesComponentHost.Component.Modified); _protocolEditorComponentHost = new ChildComponentHost(this.Host, new ProtocolEditorComponent(this.WorklistItem)); _protocolEditorComponentHost.StartComponent(); ((ProtocolEditorComponent)_protocolEditorComponentHost.Component).CanEdit = this.SaveEnabled; _protocolEditorComponentHost.Component.ModifiedChanged += ((sender, args) => this.Modified = this.Modified || _protocolEditorComponentHost.Component.Modified); _rightHandComponentContainer = new TabComponentContainer(); _orderDetailViewComponent = new ProtocollingOrderDetailViewComponent(this.WorklistItem.PatientRef, this.WorklistItem.OrderRef); _rightHandComponentContainer.Pages.Add(new TabPage(SR.TitleOrder, _orderDetailViewComponent)); _orderAttachmentsComponent = new AttachedDocumentPreviewComponent(true, AttachmentSite.Order); _orderAttachmentsComponent.OrderRef = this.WorklistItem.OrderRef; _rightHandComponentContainer.Pages.Add(new TabPage(SR.TitleOrderAttachments, _orderAttachmentsComponent)); _additionalInfoComponent = new OrderAdditionalInfoComponent(true); _additionalInfoComponent.OrderExtendedProperties = _orderDetail.ExtendedProperties; _additionalInfoComponent.Context = new OrderAdditionalInfoComponent.HealthcareContext(this.WorklistItem.OrderRef); _rightHandComponentContainer.Pages.Add(new TabPage(SR.TitleAdditionalInfo, _additionalInfoComponent)); _rightHandComponentContainer.Pages.Add(new TabPage(SR.TitlePriors, _priorReportsComponent = new PriorReportComponent(this.WorklistItem))); _rightHandComponentContainerHost = new ChildComponentHost(this.Host, _rightHandComponentContainer); _rightHandComponentContainerHost.StartComponent(); SetInitialProtocollingTabPage(); base.Start(); }
/// <summary> /// Called by the host to initialize the application component. /// </summary> public override void Start() { _procedureTable = new Table <ProcedureDetail>(); _procedureTable.Columns.Add(new TableColumn <ProcedureDetail, string>("Procedure", delegate(ProcedureDetail item) { return(Formatting.ProcedureFormat.Format(item)); })); _procedureViewComponentHost = new ChildComponentHost(this.Host, new ProcedureViewComponent(this)); _procedureViewComponentHost.StartComponent(); Platform.GetService <IBrowsePatientDataService>( delegate(IBrowsePatientDataService service) { GetDataRequest request = new GetDataRequest(); request.GetOrderDetailRequest = new GetOrderDetailRequest(_orderRef, false, true, false, false, false, false); GetDataResponse response = service.GetData(request); _procedureTable.Items.AddRange(response.GetOrderDetailResponse.Order.Procedures); }); base.Start(); }
public override void Start() { _delaySelectionTimer = new Timer(state => SetSelectedOrder(state as EntityRef), _initialSelectedOrderRef, 250); _orderDetailComponent = new BiographyOrderDetailViewComponent(); _visitDetailComponent = new BiographyVisitDetailViewComponent(); _orderReportsComponent = new BiographyOrderReportsComponent(); _orderDocumentComponent = new AttachedDocumentPreviewComponent(true, AttachmentSite.Order); _rightHandComponentContainer = new TabComponentContainer(); _rightHandComponentContainer.Pages.Add(new TabPage("Order Details", _orderDetailComponent)); if (new WorkflowConfigurationReader().EnableVisitWorkflow) { _rightHandComponentContainer.Pages.Add(new TabPage("Visit Details", _visitDetailComponent)); } _rightHandComponentContainer.Pages.Add(new TabPage("Reports", _orderReportsComponent)); _rightHandComponentContainer.Pages.Add(new TabPage("Order Attachments", _orderDocumentComponent)); // instantiate all extension pages _extensionPages = new List <IBiographyOrderHistoryPage>(); foreach (IBiographyOrderHistoryPageProvider pageProvider in new BiographyOrderHistoryPageProviderExtensionPoint().CreateExtensions()) { _extensionPages.AddRange(pageProvider.GetPages(new BiographyOrderHistoryContext(this))); } // add extension pages to container and set initial context // the container will start those components if the user goes to that page foreach (var page in _extensionPages) { _rightHandComponentContainer.Pages.Add(new TabPage(page.Path, page.GetComponent())); } _rightHandComponentContainerHost = new ChildComponentHost(this.Host, _rightHandComponentContainer); _rightHandComponentContainerHost.StartComponent(); LoadOrders(); base.Start(); }
public override void Start() { BuildFolderExplorers(); // Subscribe to page changed event before starting component, so that when component start the event will fire // for the initial page that open _stackTabComponent.CurrentPageChanged += OnCurrentPageChanged; _stackTabComponentContainerHost = new ChildComponentHost(this.Host, _stackTabComponent); _stackTabComponentContainerHost.StartComponent(); // register folder system instances with document manager foreach (var folderSystem in _folderSystems) { DocumentManager.RegisterFolderSystem(folderSystem); } // create tools _toolSet = new ToolSet(new FolderExplorerGroupToolExtensionPoint(), new FolderExplorerGroupToolContext(this)); base.Start(); }
private void InitializeDocumentationTabPages() { var context = new PerformingDocumentationContext(this); _bannerComponentHost = new ChildComponentHost(this.Host, new BannerComponent(_worklistItem)); _bannerComponentHost.StartComponent(); _documentationTabContainer = new TabComponentContainer { ValidationStrategy = new AllComponentsValidationStrategy() }; _orderDetailsComponent = new PerformingDocumentationOrderDetailsComponent(context, _worklistItem); _documentationTabContainer.Pages.Add(new TabPage("Order", _orderDetailsComponent)); _ppsComponent = new PerformedProcedureComponent(_worklistItem, this); _ppsComponent.ProcedurePlanChanged += ((sender, e) => RefreshProcedurePlanSummary(e.ProcedurePlanDetail)); _documentationTabContainer.Pages.Add(new TabPage("Exam", _ppsComponent)); // create extension pages foreach (IPerformingDocumentationPageProvider pageProvider in (new PerformingDocumentationPageProviderExtensionPoint()).CreateExtensions()) { _extensionPages.AddRange(pageProvider.GetPages(context)); } foreach (var page in _extensionPages) { _documentationTabContainer.Pages.Add(new TabPage(page.Path, page.GetComponent())); } // For #7401. Al the pages in this component are explicitly started so data for validation // iill be readily available when user complete the documentation. CollectionUtils.ForEach(_documentationTabContainer.Pages, p => p.LazyStart = false); _documentationHost = new ChildComponentHost(this.Host, _documentationTabContainer); _documentationHost.StartComponent(); SetInitialDocumentationTabPage(); }
public override void Start() { _staffSummaryComponent = new StaffSummaryComponent { IncludeDeactivatedItems = false, HostedMode = true }; _staffSummaryComponent.SummarySelectionChanged += OnSummaryComponentSummarySelectionChanged; _staffSummaryComponent.ItemDoubleClicked += OnSummaryComponentItemDoubleClicked; _staffGroupSummaryComponent = new StaffGroupSummaryComponent { IncludeDeactivatedItems = false, HostedMode = true }; _staffGroupSummaryComponent.SummarySelectionChanged += OnSummaryComponentSummarySelectionChanged; _staffGroupSummaryComponent.ItemDoubleClicked += OnSummaryComponentItemDoubleClicked; _tabComponentContainer = new TabComponentContainer(); _tabComponentContainer.Pages.Add(new TabPage(SR.TitleStaff, _staffSummaryComponent)); _tabComponentContainer.Pages.Add(new TabPage(SR.TitleStaffGroups, _staffGroupSummaryComponent)); _tabComponentContainerHost = new ChildComponentHost(this.Host, _tabComponentContainer); _tabComponentContainerHost.StartComponent(); base.Start(); }
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(); }