/// <summary> /// Class constructor. /// </summary> static WorklistItemProjection() { // define the base procedure step projection (without the time field) _procedureStepBase = new WorklistItemProjection( new [] { WorklistItemField.ProcedureStep, WorklistItemField.ProcedureStepName, WorklistItemField.ProcedureStepState, WorklistItemField.Procedure, WorklistItemField.Order, WorklistItemField.Patient, WorklistItemField.PatientProfile, WorklistItemField.Mrn, WorklistItemField.PatientName, WorklistItemField.AccessionNumber, WorklistItemField.Priority, WorklistItemField.PatientClass, WorklistItemField.DiagnosticServiceName, WorklistItemField.ProcedureTypeName, WorklistItemField.ProcedurePortable, WorklistItemField.ProcedureLaterality, }); // define the base reporting procedure step projection _reportingBase = _procedureStepBase.AddFields( new [] { WorklistItemField.Report, WorklistItemField.ReportPartIndex }); // initialize the "search" projections for each type of worklist ModalityWorklistSearch = GetDefaultProjection(WorklistItemField.ProcedureScheduledStartTime); // need to display the correct time field // ProcedureScheduledStartTime seems like a reasonable choice for registration homepage search, // as it gives a general sense of when the procedure occurs in time RegistrationWorklistSearch = GetDefaultProjection(WorklistItemField.ProcedureScheduledStartTime); ReportingWorklistSearch = GetReportingProjection(WorklistItemField.ProcedureStartTime); // TODO: this timefield is the value from when this broker was part of ReportingWorklistBroker, // but what should it really be? ProtocolWorklistSearch = GetDefaultProjection(WorklistItemField.ProcedureStartTime); }
/// <summary> /// Class constructor. /// </summary> static WorklistItemProjection() { // define the base procedure step projection (without the time field) _procedureStepBase = new WorklistItemProjection( new [] { WorklistItemField.ProcedureStep, WorklistItemField.ProcedureStepName, WorklistItemField.ProcedureStepState, WorklistItemField.Procedure, WorklistItemField.Order, WorklistItemField.Patient, WorklistItemField.PatientProfile, WorklistItemField.Mrn, WorklistItemField.PatientName, WorklistItemField.AccessionNumber, WorklistItemField.Priority, WorklistItemField.PatientClass, WorklistItemField.DiagnosticServiceName, WorklistItemField.ProcedureTypeName, WorklistItemField.ProcedurePortable, WorklistItemField.ProcedureLaterality, }); // define the base reporting procedure step projection _reportingBase = _procedureStepBase.AddFields( new [] { WorklistItemField.Report, WorklistItemField.ReportPartIndex }); // initialize the "search" projections for each type of worklist ModalityWorklistSearch = GetDefaultProjection(WorklistItemField.ProcedureScheduledStartTime); // need to display the correct time field // ProcedureScheduledStartTime seems like a reasonable choice for registration homepage search, // as it gives a general sense of when the procedure occurs in time RegistrationWorklistSearch = GetDefaultProjection(WorklistItemField.ProcedureScheduledStartTime); ReportingWorklistSearch = GetReportingProjection(WorklistItemField.ProcedureStartTime); // TODO: this timefield is the value from when this broker was part of ReportingWorklistBroker, // but what should it really be? ProtocolWorklistSearch = GetDefaultProjection(WorklistItemField.ProcedureStartTime); }
/// <summary> /// Gets the reporting worklist item projection using the specified time field. /// </summary> /// <param name="timeField"></param> /// <returns></returns> public static WorklistItemProjection GetReportingProjection(WorklistItemField timeField) { return(_reportingBase.AddFields(new[] { timeField })); }
/// <summary> /// Gets the default worklist item projection using the specified time field. /// </summary> /// <param name="timeField"></param> /// <returns></returns> public static WorklistItemProjection GetDefaultProjection(WorklistItemField timeField) { return(_procedureStepBase.AddFields(new[] { timeField })); }