示例#1
0
        public ActionResult FullDetails(int RequestId)
        {
            DischargeViewModel         model            = new DischargeViewModel();
            DischargeDetailsController dischargeDetails = new DischargeDetailsController();

            model.RequestModel     = dischargeDetails.PopulateModel(RequestId, true);
            model.ComplaintModel   = new DischargeComplaintModel();
            model.DischargeActions = GetDischargeActions(model.RequestModel);
            model.AuditLogs        = GetRequestHistory(RequestId);
            List <tblDischargeComplaint> complaints = new List <tblDischargeComplaint>();
            DateTime dtmLive = Convert.ToDateTime("05/21/2018");

            using (var context = new lifeflightapps())
            {
                complaints = context.tblDischargeComplaints.Where(x => x.RequestID == RequestId && x.ComplaintEntereddatetime > dtmLive).ToList();
            }
            List <DischargeComplaintModel> cModels = new List <DischargeComplaintModel>();

            foreach (var entry in complaints)
            {
                DischargeComplaintModel complaintModel = new DischargeComplaintModel();

                complaintModel = ConvertToModel(entry);
                cModels.Add(complaintModel);
            }
            model.ComplaintModels = cModels;
            return(View(model));
        }
示例#2
0
        public ActionResult AllComplaints(int?page)
        {
            List <DischargeComplaintModel> complaintList = new List <DischargeComplaintModel>();

            ///TODO: Need to fix the logic of retrieving the complaints
            using (var context = new lifeflightapps())
            {
                var complaints = context.tblDischargeComplaints.ToList().OrderByDescending(x => x.ComplaintEntereddatetime).Where(x => x.ComplaintEntereddatetime > DateTime.Now.AddMonths(-2));

                foreach (var complaint in complaints)
                {
                    var discharge = context.tblDischargeRequests1.Find(complaint.RequestID);
                    if (discharge != null)
                    {
                        DischargeComplaintModel model = new DischargeComplaintModel();
                        model = ConvertToModel(complaint);
                        complaintList.Add(model);
                    }
                }
            }
            int pageSize   = 10;
            int pageNumber = (page ?? 1);

            return(View(complaintList.ToPagedList(pageNumber, pageSize)));
        }
示例#3
0
        /// <summary>
        /// Converts the dbentities to model
        /// </summary>
        /// <param name="complaint"></param>
        /// <returns></returns>
        private DischargeComplaintModel ConvertToModel(tblDischargeComplaint complaint)
        {
            DischargeComplaintModel model = new DischargeComplaintModel();

            using (var context = new lifeflightapps())
            {
                var    complaintType = context.tblDischargeComplaintTypes.Find(complaint.ComplaintTypeID).ComplaintType;
                string delayedReason = string.Empty;
                if (complaint.DelayReasonID != null)
                {
                    delayedReason = context.tblDelayReasons.Find(complaint.DelayReasonID).delayreason;
                }
                //var patientID = db.tblDischargeRequests1.Find(complaint.RequestID).PatientID;
                var    discharge   = context.tblDischargeRequests1.Find(complaint.RequestID);
                var    mrn         = context.tblPatients.Where(x => x.PatientID == discharge.PatientID).Select(x => x.MrNumber).FirstOrDefault();
                var    location    = context.tblMbrCensus.Find(discharge.LocationID);
                var    agency      = context.tblEmsAgencyLocals.Find(discharge.EmsAgencyId).Name;
                var    destination = context.tblDischargeDestinations.Find(discharge.DestinationID);
                string goingTo     = (destination.DestinationType == "Hospital/NursingHome") ? destination.DestinationName : destination.AddressLineOne + " " + destination.City + " " + destination.StateCode;
                string from        = string.Empty;
                if (discharge.RequestType == "Discharge")
                {
                    from = location.Unit + "-" + location.Bed;
                }
                var patientName = context.tblPatients.Where(x => x.PatientID == discharge.PatientID).Select(x => x.FirstName + " " + x.LastName).FirstOrDefault();
                model = new DischargeComplaintModel()
                {
                    Complaint     = complaint.Complaint,
                    CreatedBy     = complaint.EnteredBy,
                    CreatedDate   = complaint.ComplaintEntereddatetime,
                    RequestId     = complaint.RequestID,
                    IsAocNotified = complaint.HospitalAOCNotified,
                    IsResolved    = complaint.Resolved,
                    ResolvedDate  = complaint.ResolvedDateTime,
                    ComplaintType = complaintType,
                    DelayedReason = delayedReason,
                    PatientName   = patientName,
                    RequestDate   = discharge.CallReceivedDate,
                    Location      = from,
                    Agency        = agency,
                    Destination   = goingTo,
                    MRN           = mrn
                };
            }
            return(model);
        }
示例#4
0
        public ActionResult Complaint()
        {
            DischargeComplaintModel model = new DischargeComplaintModel();

            return(View(model));
        }