public IList <WorklistItem> FindProcedures(WorklistItemSearchCriteria[] where) { var p = FilterProjection(_args.Projection, WorklistItemFieldLevel.Procedure); var qbArgs = new SearchQueryArgs((Type[])null, where, p); var query = _owner.BuildProcedureSearchQuery(qbArgs); return(_owner.DoQuery(query, _worklistItemClass, _owner._procedureQueryBuilder, qbArgs)); }
public IList <WorklistItem> FindWorklistItems(WorklistItemSearchCriteria[] where) { var qbArgs = new SearchQueryArgs(_args.ProcedureStepClasses, where, _args.Projection); var query = _owner.BuildWorklistSearchQuery(qbArgs); // query may be null to signal that it should not be performed return(query == null ? new List <WorklistItem>() : _owner.DoQuery(query, _worklistItemClass, _owner.WorklistItemQueryBuilder, qbArgs)); }
public IList <WorklistItem> FindPatients(WorklistItemSearchCriteria[] where) { var p = FilterProjection(_args.Projection, WorklistItemFieldLevel.Patient); var w = GetPatientCriteria(where); var qbArgs = new SearchQueryArgs((Type[])null, w, p); var query = _owner.BuildPatientSearchQuery(qbArgs); return(_owner.DoQuery(query, _worklistItemClass, _owner._patientQueryBuilder, qbArgs)); }
/// <summary> /// Maps the specified set of protocolling steps to a corresponding set of reporting worklist items. /// </summary> /// <param name="protocollingSteps"></param> /// <param name="timeField"></param> /// <returns></returns> public IList <ReportingWorklistItem> GetWorklistItems(IEnumerable <ProtocolProcedureStep> protocollingSteps, WorklistItemField timeField) { var worklistItemCriteria = CollectionUtils.Map(protocollingSteps, delegate(ProtocolProcedureStep ps) { var criteria = new ReportingWorklistItemSearchCriteria(); criteria.ProcedureStep.EqualTo(ps); return(criteria); }).ToArray(); var projection = WorklistItemProjection.GetDefaultProjection(timeField); var args = new SearchQueryArgs(typeof(ProtocolProcedureStep), worklistItemCriteria, projection); var query = this.BuildWorklistSearchQuery(args); return(DoQuery <ReportingWorklistItem>(query, this.WorklistItemQueryBuilder, args)); }