public ReportDetail CreateReportDetail(Report report, bool includeCancelledParts, IPersistenceContext context) { ReportDetail detail = new ReportDetail(); detail.ReportRef = report.GetRef(); detail.ReportStatus = EnumUtils.GetEnumValueInfo(report.Status, context); ProcedureAssembler rpAssembler = new ProcedureAssembler(); detail.Procedures = CollectionUtils.Map<Procedure, ProcedureDetail>(report.Procedures, delegate(Procedure p) { return rpAssembler.CreateProcedureDetail( p, delegate(ProcedureStep ps) { return ps.Is<ReportingProcedureStep>(); }, // only Reporting steps are relevant false, // exclude protocols context); }); List<ReportPartDetail> parts = CollectionUtils.Map<ReportPart, ReportPartDetail>(report.Parts, delegate(ReportPart part) { return CreateReportPartDetail(part, context); }); detail.Parts = includeCancelledParts ? parts : CollectionUtils.Select(parts, delegate(ReportPartDetail rpp) { return rpp.Status.Code.Equals(ReportPartStatus.X.ToString()) == false; }); return detail; }
public ReportSummary CreateReportSummary(Procedure rp, Report report, IPersistenceContext context) { ReportSummary summary = new ReportSummary(); ProcedureAssembler rpAssembler = new ProcedureAssembler(); if (report != null) { summary.ReportRef = report.GetRef(); summary.ReportStatus = EnumUtils.GetEnumValueInfo(report.Status, context); // use all procedures attached to report summary.Procedures = CollectionUtils.Map<Procedure, ProcedureSummary>(report.Procedures, delegate(Procedure p) { return rpAssembler.CreateProcedureSummary(p, context); }); } else { // use supplied procedure summary.Procedures = CollectionUtils.Map<Procedure, ProcedureSummary>(new Procedure[] { rp }, delegate(Procedure p) { return rpAssembler.CreateProcedureSummary(p, context); }); } Order order = rp.Order; summary.VisitNumber = new VisitAssembler().CreateVisitNumberDetail(order.Visit.VisitNumber); summary.AccessionNumber = order.AccessionNumber; summary.DiagnosticServiceName = order.DiagnosticService.Name; return summary; }
private static void UpdateListItem(ReportListItem data, Report report, IPersistenceContext context) { data.ReportRef = report.GetRef(); data.ReportStatus = EnumUtils.GetEnumValueInfo(report.Status, context); }