Example #1
0
        // GET: Patient
        public ActionResult Details(int id)
        {
            var patientViewModel = new PatientViewModel
            {
                Patient = BVSBusinessServices.Patients.GetByID(id)
            };

            var patientMeasurements = BVSBusinessServices.Measurements.GetByPatientID(id).OrderByDescending(m => m.MeasurementOn);

            patientViewModel.PatientMeasurements = new List <MeasurementGridViewModel>();

            foreach (Measurement measurement in patientMeasurements)
            {
                var u = new MeasurementGridViewModel()
                {
                    ID = measurement.ID,
                    CalculatedVolume = measurement.CalculatedVolume,
                    MeasurementOn    = measurement.MeasurementOn,
                    PatientFeedback  = measurement.PatientFeedback,
                    PatientRating    = (measurement.PatientRating.HasValue ? (measurement.PatientRating.ToString() + " ") : "") + ((measurement.IsPatientRatingThumbsUp.HasValue && measurement.IsPatientRatingThumbsUp.Value) ? "(Thumbs Up)" : "") + ((measurement.IsPatientRatingThumbsDown.HasValue && measurement.IsPatientRatingThumbsDown.Value) ? "(Thumbs Down)" : ""),
                    PatientID        = measurement.PatientID,
                    IsVoided         = measurement.IsVoided
                };

                patientViewModel.PatientMeasurements.Add(u);
            }

            return(View(patientViewModel));
        }
Example #2
0
        public ActionResult MeasurementChart(int id, DateTime?startDate = null, DateTime?endDate = null)
        {
            var patientViewModel = new PatientChartViewModel
            {
                Patient             = BVSBusinessServices.Patients.GetByID(id),
                StartDate           = startDate,
                EndDate             = endDate,
                PatientMeasurements = new List <MeasurementGridViewModel>()
            };

            var patientMeasurements = BVSBusinessServices.Measurements.GetByPatientID(id);

            if (startDate.HasValue)
            {
                startDate           = startDate.Value.Date;
                patientMeasurements = patientMeasurements.Where(x => x.MeasurementOn >= startDate);
            }
            if (endDate.HasValue)
            {
                endDate = endDate.Value.Date;
                var nextDay = endDate.Value.AddDays(1);
                patientMeasurements = patientMeasurements.Where(x => x.MeasurementOn < nextDay);
            }
            patientMeasurements = patientMeasurements.OrderBy(m => m.MeasurementOn);

            foreach (Measurement measurement in patientMeasurements)
            {
                var u = new MeasurementGridViewModel()
                {
                    ID = measurement.ID,
                    CalculatedVolume = measurement.CalculatedVolume,
                    MeasurementOn    = measurement.MeasurementOn,
                    PatientFeedback  = measurement.PatientFeedback,
                    PatientRating    = measurement.PatientRating.HasValue ? measurement.PatientRating.ToString() : "",
                    PatientID        = measurement.PatientID,
                    IsVoided         = measurement.IsVoided
                };
                patientViewModel.PatientMeasurements.Add(u);
            }

            var width = 800;

            if (patientViewModel.PatientMeasurements.Count() > 1)
            {
                var timeDifff = patientViewModel.PatientMeasurements.Last().MeasurementOn.Subtract(patientViewModel.PatientMeasurements.First().MeasurementOn).TotalMinutes;
                int timeDiff  = (int)timeDifff;
                var newWidth  = timeDiff * 8;
                if (newWidth > width)
                {
                    width = newWidth;
                }
            }
            patientViewModel.ChartWidth = width;

            return(View(patientViewModel));
        }