public GetLinkableInterpretationsResponse GetLinkableInterpretations(GetLinkableInterpretationsRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.InterpretationStepRef, "InterpretationStepRef"); var step = this.PersistenceContext.Load <InterpretationStep>(request.InterpretationStepRef, EntityLoadFlags.Proxy); var broker = this.PersistenceContext.GetBroker <IReportingWorklistItemBroker>(); var candidateSteps = broker.GetLinkedInterpretationCandidates(step, this.CurrentUserStaff); // if any candidate steps were found, need to convert them to worklist items IList <ReportingWorklistItem> worklistItems; if (candidateSteps.Count > 0) { // because CLR does not support List co-variance, need to map to a list of the more general type (this seems silly!) var reportingSteps = CollectionUtils.Map <InterpretationStep, ReportingProcedureStep>(candidateSteps, s => s); worklistItems = broker.GetWorklistItems(reportingSteps, WorklistItemField.ProcedureStepScheduledStartTime); } else { worklistItems = new List <ReportingWorklistItem>(); } var assembler = new ReportingWorkflowAssembler(); return(new GetLinkableInterpretationsResponse( CollectionUtils.Map <ReportingWorklistItem, ReportingWorklistItemSummary>( worklistItems, item => assembler.CreateWorklistItemSummary(item, this.PersistenceContext)))); }
public QueryWorklistResponse<ReportingWorklistItemSummary> QueryWorklist(QueryWorklistRequest request) { var assembler = new ReportingWorkflowAssembler(); return QueryWorklistHelper<ReportingWorklistItem, ReportingWorklistItemSummary>( request, item => assembler.CreateWorklistItemSummary(item, this.PersistenceContext)); }
public QueryWorklistResponse <ReportingWorklistItemSummary> QueryWorklist(QueryWorklistRequest request) { var assembler = new ReportingWorkflowAssembler(); return(QueryWorklistHelper <ReportingWorklistItem, ReportingWorklistItemSummary>( request, item => assembler.CreateWorklistItemSummary(item, this.PersistenceContext))); }
public TextQueryResponse<ReportingWorklistItemSummary> SearchWorklists(WorklistItemTextQueryRequest request) { var assembler = new ReportingWorkflowAssembler(); var broker = this.PersistenceContext.GetBroker<IReportingWorklistItemBroker>(); return SearchHelper<ReportingWorklistItem, ReportingWorklistItemSummary>( request, broker, WorklistItemProjection.ReportingWorklistSearch, item => assembler.CreateWorklistItemSummary(item, this.PersistenceContext)); }
public TextQueryResponse<ReportingWorklistItemSummary> SearchWorklists(WorklistItemTextQueryRequest request) { var procedureStepClass = request.ProcedureStepClassName == null ? null : ProcedureStep.GetSubClass(request.ProcedureStepClassName, PersistenceContext); // decide which broker/projection to use for searching var isReporting = typeof (ReportingProcedureStep).IsAssignableFrom(procedureStepClass); var broker = isReporting ? (IWorklistItemBroker)PersistenceContext.GetBroker<IReportingWorklistItemBroker>() : PersistenceContext.GetBroker<IProtocolWorklistItemBroker>(); var projection = isReporting ? WorklistItemProjection.ReportingWorklistSearch : WorklistItemProjection.ProtocolWorklistSearch; var assembler = new ReportingWorkflowAssembler(); return SearchHelper<ReportingWorklistItem, ReportingWorklistItemSummary>( request, broker, projection, item => assembler.CreateWorklistItemSummary(item, PersistenceContext)); }
public TextQueryResponse <ReportingWorklistItemSummary> SearchWorklists(WorklistItemTextQueryRequest request) { var procedureStepClass = request.ProcedureStepClassName == null ? null : ProcedureStep.GetSubClass(request.ProcedureStepClassName, PersistenceContext); // decide which broker/projection to use for searching var isReporting = typeof(ReportingProcedureStep).IsAssignableFrom(procedureStepClass); var broker = isReporting ? (IWorklistItemBroker)PersistenceContext.GetBroker <IReportingWorklistItemBroker>() : PersistenceContext.GetBroker <IProtocolWorklistItemBroker>(); var projection = isReporting ? WorklistItemProjection.ReportingWorklistSearch : WorklistItemProjection.ProtocolWorklistSearch; var assembler = new ReportingWorkflowAssembler(); return(SearchHelper <ReportingWorklistItem, ReportingWorklistItemSummary>( request, broker, projection, item => assembler.CreateWorklistItemSummary(item, PersistenceContext))); }
public GetLinkableInterpretationsResponse GetLinkableInterpretations(GetLinkableInterpretationsRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.InterpretationStepRef, "InterpretationStepRef"); var step = this.PersistenceContext.Load<InterpretationStep>(request.InterpretationStepRef, EntityLoadFlags.Proxy); var broker = this.PersistenceContext.GetBroker<IReportingWorklistItemBroker>(); var candidateSteps = broker.GetLinkedInterpretationCandidates(step, this.CurrentUserStaff); // if any candidate steps were found, need to convert them to worklist items IList<ReportingWorklistItem> worklistItems; if (candidateSteps.Count > 0) { // because CLR does not support List co-variance, need to map to a list of the more general type (this seems silly!) var reportingSteps = CollectionUtils.Map<InterpretationStep, ReportingProcedureStep>(candidateSteps, s => s); worklistItems = broker.GetWorklistItems(reportingSteps, WorklistItemField.ProcedureStepScheduledStartTime); } else { worklistItems = new List<ReportingWorklistItem>(); } var assembler = new ReportingWorkflowAssembler(); return new GetLinkableInterpretationsResponse( CollectionUtils.Map<ReportingWorklistItem, ReportingWorklistItemSummary>( worklistItems, item => assembler.CreateWorklistItemSummary(item, this.PersistenceContext))); }