/// <summary>Generates the specified key.</summary> /// <param name="key">The key.</param> /// <param name="reportName">Name of the report.</param> /// <param name="parameters">The parameters.</param> /// <returns>A <see cref="IReport" />.</returns> /// <exception cref="System.ArgumentException">Invalid parameters.</exception> public IReport Generate(Guid key, string reportName, object parameters = null) { var assessment = _assessmentInstanceRepository.GetByKey(key); var patient = _patientRepository.GetByKey(assessment.PatientKey); var staff = _staffRepository.GetByKey(assessment.CreatedByStaffKey.GetValueOrDefault()); var nihAssessment = new NihHealthBehaviorsAssessment(assessment); var reportDataCollection = new NihHealthBehaviorsAssessmentReportDataCollection { new NihHealthBehaviorsAssessmentReportData(nihAssessment) { SummaryReportInfo = new SummaryReportInfo { PatientId = patient.UniqueIdentifier, PatientName = patient.Name.FullName, StaffName = staff.Name.FullName, ScreeningDate = assessment.CreatedDate.ToShortDateString() } } }; var report = new NihHealthBehaviorsAssessmentPatientSummaryReport { DataSource = reportDataCollection, }; return(report); }
/// <summary> /// Initializes a new instance of the <see cref="NihHealthBehaviorsAssessmentReportData" /> class. /// </summary> /// <param name="healthBehaviorsAssessmentAssessment">The healthBehaviorsAssessmentAssessment.</param> public NihHealthBehaviorsAssessmentReportData(NihHealthBehaviorsAssessment healthBehaviorsAssessmentAssessment) { _nihHealthBehaviorsAssessmentAssessment = healthBehaviorsAssessmentAssessment; SetDiet(); SetWeight(); SetExercise(); SetStress(); SetAnxiety(); SetDepression(); SetSleep(); SetTobacco(); SetAlcohol(); SetDrugUse(); SetGeneralHealth(); SetDietRecommendation(); SetAlcoholRecommendation(); SetWeightRecommendation(); SetSleepRecommendation(); SetStressRecommendation(); SetExerciseRecommendation(); SetDrugUseRecommendation(); SetAnxietyRecommendation(); SetDepressionRecommendation(); SetTobaccoRecommendation(); SetHeadersAndLabels(); }