private void Open(IDesktopWindow desktopWindow) { try { var editor = new PatientProfileEditorComponent(); var result = ApplicationComponent.LaunchAsDialog( desktopWindow, editor, SR.TitleNewPatient); if (result == ApplicationComponentExitCode.Accepted && this.Context is IRegistrationWorkflowItemToolContext) { // if patient successfully added, invoke a search on the MRN so that the patient appears in the Home page var searchParams = new WorklistSearchParams(new WorklistItemTextQueryRequest.AdvancedSearchFields() { Mrn = editor.PatientProfile.Mrn.Id }); ((IRegistrationWorkflowItemToolContext)this.Context).ExecuteSearch(searchParams); } } catch (Exception e) { ExceptionHandler.Report(e, desktopWindow); } }
protected override TextQueryResponse <ReportingWorklistItemSummary> DoQuery(WorklistSearchParams query, int specificityThreshold) { TextQueryResponse <ReportingWorklistItemSummary> response; WorklistItemTextQueryOptions options = WorklistItemTextQueryOptions.ProcedureStepStaff | (DowntimeRecovery.InDowntimeRecoveryMode ? WorklistItemTextQueryOptions.DowntimeRecovery : 0); response = DoQueryCore(query, specificityThreshold, options, "ReportingProcedureStep"); if (response.TooManyMatches) { return(response); } List <ReportingWorklistItemSummary> storeMatches = new List <ReportingWorklistItemSummary>(response.Matches); response = DoQueryCore(query, specificityThreshold, options, "ProtocolAssignmentStep"); if (!response.TooManyMatches) { response.Matches.AddRange(storeMatches); } return(response); }