コード例 #1
0
        private void ShowNavigatorPopup(@case model)
        {
            // checking the entry in log so the in any case the popup is not displayed to navigator multiple times
            var navigatorEntry = _caseAssignHistoryService.GetRequests(model.cas_key, PhysicianCaseAssignQueue.InQueue)
                                 .Where(m => m.cah_phy_key == model.cas_created_by)
                                 .FirstOrDefault();

            if (navigatorEntry != null)
            {
                #region Sending Alert to Physician in case of All Physicians reject the case


                var navigatorList = ConnectedUsers.Where(m => m.UserId == model.cas_created_by)
                                    .ToList();

                navigatorList.ForEach(navigator =>
                {
                    Clients.Client(navigator.ConnectionId).showNavigatorCasePopup(model.cas_key);
                });

                // re updating the case status from in queue to open in case no physician accept the case
                model.cas_cst_key = CaseStatus.Open.ToInt();
                _caseService.EditCaseOnly(model);
                PhysicianCasePopupHub.CleanCaseData(model.cas_key); // added to handle disconnection event

                #endregion
                navigatorEntry.cah_action = PhysicianCaseAssignQueue.NotAcceptedByAll.ToString();
                _caseAssignHistoryService.Edit(navigatorEntry);
            }
        }
コード例 #2
0
        public ActionResult FacilityInfo(string caseType, int caseTypeKey, string className = "")
        {
            try
            {
                ViewBag.CaseTypeKey   = caseTypeKey;
                ViewBag.CaseType      = caseType;
                ViewBag.ClassName     = className;
                ViewBag.IsItDashboard = false;

                if (ApplicationSetting != null)
                {
                    ViewBag.f9Domain     = ApplicationSetting.aps_five9_domain;
                    ViewBag.f9CallNumber = Functions.ClearPhoneFormat(ApplicationSetting.aps_five9_number_to_dial);
                    ViewBag.f9List       = ApplicationSetting.aps_five9_list;
                }
                var model = new @case();
                model.cas_identification_type = _uCLService.GetDefault(UclTypes.IdentificationType)?.ucd_key;
                return(View("_FacilityInfo", model));
            }
            catch (Exception ex)
            {
                ViewBag.Title   = "Error";
                ViewBag.Message = "Unexpected error occurred. Please try again.";
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
                return(GetViewResult("Error"));
            }
        }
コード例 #3
0
        public ActionResult DashBoard()
        {
            try
            {
                var  currentUserId    = User.Identity.GetUserId();
                var  checkUser        = _facilityService.GetUserRole(currentUserId);
                bool isUserHomeHealth = _facilityService.IsHomeHealth(checkUser.AspNetRole.Name);
                if (isUserHomeHealth)
                {
                    string name = checkUser.AspNetUser.FirstName + " " + checkUser.AspNetUser.LastName;
                    //var _types = _ealertCaseTypesService.GetAllHomeHealthType(currentUserId, name);
                    var _types = _uCLService.GetDefault(UclTypes.PacCaseType);
                    //_types = _types.Where(x => x.CaseTypeKey == 5).ToList();
                    ViewBag._types = _types;
                    //return View("_PacDashboard", _types);
                    //return View("_PacDashboard");
                }

                var allConsultTypes = _ealertCaseTypesService.GetAllAssignedCaseTypes(currentUserId)
                                      .OrderByDescending(m => m.CaseTypeKey.Equals((int)CaseType.StrokeAlert))
                                      .ToList();
                if (allConsultTypes != null && allConsultTypes.Count > 0)
                {
                    if (allConsultTypes.Count == 1)
                    {
                        var currentCaseType = allConsultTypes.FirstOrDefault();
                        ViewBag.CaseTypeKey = currentCaseType.CaseTypeKey;
                        ViewBag.CaseType    = currentCaseType.CaseTypeName;
                        ViewBag.ClassName   = currentCaseType.CaseTypeName.Equals(CaseType.StrokeAlert.ToDescription()) ||
                                              currentCaseType.CaseTypeName.Equals(CaseType.StatConsult.ToDescription())
                                            ? "text-danger" : "color-lightgray";
                        ViewBag.IsItDashboard = true;

                        if (ApplicationSetting != null)
                        {
                            ViewBag.f9Domain     = ApplicationSetting.aps_five9_domain;
                            ViewBag.f9CallNumber = Functions.ClearPhoneFormat(ApplicationSetting.aps_five9_number_to_dial);
                        }
                        var model = new @case();
                        model.cas_identification_type = _uCLService.GetDefault(UclTypes.IdentificationType)?.ucd_key;
                        return(View("_FacilityInfo", model));
                    }
                    else
                    {
                        return(View("_Dashboard", allConsultTypes));
                    }
                }
                else
                {
                    return(View("_Dashboard", allConsultTypes));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Title   = "Error";
                ViewBag.Message = "Unexpected error occurred. Please try again.";
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
                return(GetViewResult("Error"));
            }
        }
コード例 #4
0
        public ActionResult EditFacilityNavigatorCase(@case model)
        {
            try
            {
                var dbModel = _caseService.GetDetails(model.cas_key);
                if (ModelState.IsValid)
                {
                    model.cas_modified_by             = loggedInUser.Id;
                    model.cas_modified_by_name        = loggedInUser.FullName;
                    model.cas_modified_date           = DateTime.Now.ToEST();
                    dbModel.cas_patient               = model.cas_patient;
                    dbModel.cas_billing_dob           = model.cas_billing_dob;
                    dbModel.cas_last_4_of_ssn         = model.cas_last_4_of_ssn;
                    dbModel.cas_identification_type   = model.cas_identification_type;
                    dbModel.cas_identification_number = model.cas_identification_number;
                    dbModel.cas_eta   = model.cas_eta;
                    dbModel.cas_notes = model.cas_notes;

                    string facilityTimeZone = BLL.Settings.DefaultTimeZone;
                    if (!string.IsNullOrEmpty(model.FacilityTimeZone))
                    {
                        facilityTimeZone = model.FacilityTimeZone;
                    }

                    #region ----- Converting non eastern fields to facility time zone

                    if (dbModel.cas_response_ts_notification.HasValue)
                    {
                        dbModel.cas_response_ts_notification = dbModel.cas_response_ts_notification_utc;
                    }
                    if (model.cas_metric_door_time_est.HasValue)
                    {
                        dbModel.cas_metric_door_time     = model.cas_metric_door_time_est?.ToUniversalTimeZone(facilityTimeZone); //.ToTimezoneFromUtc(facilityTimeZone);
                        dbModel.cas_metric_door_time_est = dbModel.cas_metric_door_time?.ToTimezoneFromUtc("Eastern Standard Time");
                    }
                    if (dbModel.cas_metric_stamp_time_est.HasValue)
                    {
                        dbModel.cas_metric_stamp_time     = dbModel.cas_metric_stamp_time_est?.ToUniversalTimeZone(facilityTimeZone); //.ToTimezoneFromUtc(facilityTimeZone);
                        dbModel.cas_metric_stamp_time_est = dbModel.cas_metric_stamp_time?.ToTimezoneFromUtc("Eastern Standard Time");
                    }
                    #endregion
                    _caseService.Edit(dbModel);
                    var casNumber = dbModel.cas_case_number;
                    return(ShowSuccessMessageOnly("Case has been updated.", casNumber));
                }
                else
                {
                    return(GetErrorResult(model));
                }
            }
            catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
                ModelState.AddModelError("", "Error! Please try again.");
                return(GetErrorResult(model));
            }
        }
コード例 #5
0
        private static BoxProperties LoadCaseById(Document doc, List <@case> listCase, string sid)
        {
            @case caseItem = listCase.Find(delegate(@case c) { return(c.id == sid); });

            if (null == caseItem)
            {
                return(null);
            }
            else
            {
                double[] outerLength  = caseItem.outerdimensions.ToArray();
                double[] insideLength = caseItem.innerDimensions.ToArray();
                // instantiate BoxProperties
                BoxProperties bProperties = new BoxProperties(doc, outerLength[0], outerLength[1], outerLength[2], insideLength[0], insideLength[1], insideLength[2]);
                // name
                bProperties.Name = caseItem.name;
                // description
                bProperties.Description = caseItem.description;
                // face colors
                foreach (faceColor fc in caseItem.faceColors)
                {
                    System.Drawing.Color color = System.Drawing.Color.FromArgb((int)fc.color[0], (int)fc.color[1], (int)fc.color[2], (int)fc.color[3]);
                    switch (fc.faceNormal)
                    {
                    case axisDir.XN: bProperties.SetColor(HalfAxis.HAxis.AXIS_X_N, color); break;

                    case axisDir.XP: bProperties.SetColor(HalfAxis.HAxis.AXIS_X_P, color); break;

                    case axisDir.YN: bProperties.SetColor(HalfAxis.HAxis.AXIS_Y_N, color); break;

                    case axisDir.YP: bProperties.SetColor(HalfAxis.HAxis.AXIS_Y_P, color); break;

                    case axisDir.ZN: bProperties.SetColor(HalfAxis.HAxis.AXIS_Z_N, color); break;

                    case axisDir.ZP: bProperties.SetColor(HalfAxis.HAxis.AXIS_Z_P, color); break;

                    default: break;
                    }
                }
                // face textures
                // weight
                bProperties.Weight = caseItem.weight;
                // insert in list
                if (null != doc)
                {
                    doc.AddType(bProperties);
                }
                return(bProperties);
            }
        }
コード例 #6
0
        public IHttpActionResult Create(CasesDto casesDto)
        {
            @case caseObj = new @case
            {
                title            = casesDto.title,
                description      = casesDto.description,
                clientid         = casesDto.clientid,
                specialityid     = casesDto.specialityid,
                approvedlawyerid = casesDto.approvedlawyerid
            };

            ecaseEntity.cases.Add(caseObj);
            ecaseEntity.SaveChanges();
            return(Ok(caseObj));
        }
コード例 #7
0
        public string GenerateNIHSSReport(@case model)
        {
            string nihssMessage = "NIHSS cannot be completed due to patient status.";

            //if (model.case_template_stroke_neuro_tpa != null && model.case_template_stroke_neuro_tpa.csn_ignore_nihss)
            if (model.case_template_stroke_neuro_tpa != null && model.cas_nihss_cannot_completed)
            {
                return(nihssMessage);
            }
            //else if (model.case_template_stroke_notpa != null && model.case_template_stroke_notpa.ctn_ignore_nihss)
            else if (model.case_template_stroke_notpa != null && model.cas_nihss_cannot_completed)
            {
                return(nihssMessage);
            }
            //else if (model.case_template_stroke_tpa != null && model.case_template_stroke_tpa.cts_ignore_nihss)
            else if (model.case_template_stroke_tpa != null && model.cas_nihss_cannot_completed)
            {
                return(nihssMessage);
            }
            //else if (model.case_template_telestroke_notpa != null && model.case_template_telestroke_notpa.ctt_ignore_nihss)
            else if (model.case_template_telestroke_notpa != null && model.cas_nihss_cannot_completed)
            {
                return(nihssMessage);
            }
            else
            {
                var paragraph = new StringBuilder();
                if (!string.IsNullOrEmpty(model.SelectedNIHSQuestionResponse))
                {
                    var selectedAnswers = model.SelectedNIHSQuestionResponse.Split(',').Select(m => m.ToInt()).ToList();
                    var responseList    = _nihsStrokeScaleService.GetSelectedOptions(selectedAnswers).OrderBy(m => m.nss_nsq_key).ToList();
                    foreach (var item in responseList)
                    {
                        paragraph.Append(item.nih_stroke_scale_question.nsq_title + " - " + item.nss_title);
                        paragraph.Append("<b> + " + item.nss_score.ToString() + "</b><br/>");
                    }
                }
                return(paragraph.ToString());
            }
        }
コード例 #8
0
    public static void Main()
    {
        @case c = new @case("John");

        Console.WriteLine(c.ClientName);
    }
コード例 #9
0
        public void addNewCase(string casename, int caseDefaultPrice)
        {
            teethLabEntities db = new teethLabEntities();
            @case cas = new @case();
            cas.name = casename;
            cas.defaultPrice = caseDefaultPrice;
            db.Entry(cas).State = System.Data.EntityState.Added;
            db.cases.Add(cas);
            db.SaveChanges();

            this.addDefaultCasePrices(cas);
        }
コード例 #10
0
 public void addDefaultCasePrices(@case cas)
 {
     teethLabEntities db = new teethLabEntities();
     List<doctor> docs = db.doctors.Where(d=>d.isActive==true). ToList();
     foreach (doctor doc in docs)
     {
         this.addNewCasePrice(doc.id, cas.id, cas.defaultPrice);
     }
 }
コード例 #11
0
        public string GetIllnessHistory(@case model, EntityTypes entityType)
        {
            StringBuilder strIllnessHistory = new StringBuilder();
            bool          isNonTpaTemplate  = (entityType == EntityTypes.StrokeAlertTemplateNoTpa || entityType == EntityTypes.StrokeAlertTemplateNoTpaTeleStroke) ? true : false;

            if (model.cas_patient_type > 0)
            {
                strIllnessHistory.Append("<br/>");
                var workFlowType = (PatientType)model.cas_patient_type;
                if (workFlowType == PatientType.EMS)
                {
                    strIllnessHistory.Append("Patient was brought by EMS");
                    if (!string.IsNullOrEmpty(model.cas_metric_symptoms))
                    {
                        strIllnessHistory.AppendItem($" for symptoms of { (!string.IsNullOrEmpty(model.cas_metric_symptoms) ? model.cas_metric_symptoms.Replace("<br/>", "") : "")} <br/>", model.cas_metric_symptoms);
                    }
                    else
                    {
                        strIllnessHistory.Append(". <br/>");
                    }
                }
                else if (workFlowType == PatientType.Triage)
                {
                    strIllnessHistory.Append("Patient was brought by private transportation");
                    if (!string.IsNullOrEmpty(model.cas_metric_symptoms))
                    {
                        strIllnessHistory.AppendItem($" with symptoms of { (!string.IsNullOrEmpty(model.cas_metric_symptoms) ? model.cas_metric_symptoms.Replace("<br/>", "") : "")} <br/>", model.cas_metric_symptoms);
                    }
                    else
                    {
                        strIllnessHistory.Append(". <br/>");
                    }
                }
                else if (workFlowType == PatientType.Inpatient)
                {
                    strIllnessHistory.Append("Inpatient stroke alert was called");
                    if (!string.IsNullOrEmpty(model.cas_metric_symptoms))
                    {
                        strIllnessHistory.AppendItem($" for symptoms of { (!string.IsNullOrEmpty(model.cas_metric_symptoms) ? model.cas_metric_symptoms.Replace("<br/>", "") : "")} <br/>", model.cas_metric_symptoms);
                    }
                    else
                    {
                        strIllnessHistory.Append(". <br/>");
                    }
                }
            }
            if (!string.IsNullOrEmpty(model.cas_metric_hpi))
            {
                strIllnessHistory.Append("<br/>");
                strIllnessHistory.Append(model.cas_metric_hpi).Append("<br/>");
            }
            //TCARE-559 removing CT Head from here.
            //List<string> listCTHead = new List<string>();
            //if (model.cas_metric_ct_head_has_no_acture_hemorrhage)
            //{
            //    listCTHead.Add("CT head showed no acute hemorrhage or acute core infarct.");
            //}
            //if (model.cas_metric_ct_head_is_reviewed)
            //{
            //    listCTHead.Add("CT head was reviewed.");
            //}
            //if (model.cas_metric_ct_head_is_not_reviewed)
            //{
            //    listCTHead.Add("CT head was not reviewed.");
            //}

            //if (listCTHead.Count() > 0)
            //    strIllnessHistory.Append($"<br/>{ string.Join("<br/>", listCTHead)}<br/>");

            strIllnessHistory.Append("<br/>");

            //if (isNonTpaTemplate)
            //{
            //    if (model.cas_metric_last_seen_normal == LB2S2CriteriaOptions.Yes.ToInt()) strIllnessHistory.Append("Last Seen Normal was within 4.5 hours.<br/>");
            //    else if (model.cas_metric_last_seen_normal == LB2S2CriteriaOptions.No.ToInt()) strIllnessHistory.Append("Last Seen Normal was beyond 4.5 hours of presentation.<br/>");
            //}
            //else
            //{
            //    if (model.cas_metric_last_seen_normal == LB2S2CriteriaOptions.Yes.ToInt()) strIllnessHistory.Append("Last Seen Normal was outside of 4.5 hours.<br/>");
            //    else if (model.cas_metric_last_seen_normal == LB2S2CriteriaOptions.No.ToInt()) strIllnessHistory.Append("Last Seen Normal was within 4.5 hours of presentation.<br/>");
            //}
            if (model.cas_ctp_key != 10)
            {
                if (model.cas_metric_last_seen_normal == LB2S2CriteriaOptions.Yes.ToInt())
                {
                    strIllnessHistory.Append("Last seen normal was beyond 4.5 hours of presentation.<br/>");
                }
                else if (model.cas_metric_last_seen_normal == LB2S2CriteriaOptions.No.ToInt())
                {
                    strIllnessHistory.Append("Last seen normal was within 4.5 hours.<br/>");
                }

                if (model.cas_metric_has_hemorrhgic_history == LB2S2CriteriaOptions.Yes.ToInt())
                {
                    strIllnessHistory.Append("There is history of hemorrhagic complications or intracranial hemorrhage.<br/>");
                }
                else if (model.cas_metric_has_hemorrhgic_history == LB2S2CriteriaOptions.No.ToInt())
                {
                    strIllnessHistory.Append("There is no history of hemorrhagic complications or intracranial hemorrhage.<br/>");
                }

                if (model.cas_metric_has_recent_anticoagulants == LB2S2CriteriaOptions.Yes.ToInt())
                {
                    strIllnessHistory.Append("There is history of Recent Anticoagulants.<br/>");
                }
                else if (model.cas_metric_has_recent_anticoagulants == LB2S2CriteriaOptions.No.ToInt())
                {
                    strIllnessHistory.Append("There is no history of Recent Anticoagulants.<br/>");
                }

                if (model.cas_metric_has_major_surgery_history == LB2S2CriteriaOptions.Yes.ToInt())
                {
                    strIllnessHistory.Append("There is no history of recent major surgery.<br/>");
                }
                else if (model.cas_metric_has_major_surgery_history == LB2S2CriteriaOptions.No.ToInt())
                {
                    strIllnessHistory.Append("There is no history of recent major surgery.<br/>");
                }

                if (model.cas_metric_has_stroke_history == LB2S2CriteriaOptions.Yes.ToInt())
                {
                    strIllnessHistory.Append("There is history of recent stroke.<br/>");
                }
                else if (model.cas_metric_has_stroke_history == LB2S2CriteriaOptions.No.ToInt())
                {
                    strIllnessHistory.Append("There is no history of recent stroke.<br/>");
                }
            }

            return(strIllnessHistory.ToString());
        }
コード例 #12
0
        public string GetPhysicianMetrics(@case model)
        {
            var loginDelayReason = "";
            var tpaDelayReason   = "";

            if (model.cas_billing_lod_key.HasValue)
            {
                loginDelayReason = _uclService.GetDetails(model.cas_billing_lod_key.Value).ucd_description.Replace("<br/>", "");
            }
            if (model.cas_metric_tpaDelay_key.HasValue)
            {
                tpaDelayReason = _uclService.GetDetails(model.cas_metric_tpaDelay_key.Value).ucd_description.Replace("<br/>", "");
            }

            PatientType patientType = PatientType.EMS;

            if (model.cas_patient_type > 0)
            {
                patientType = ((PatientType)model.cas_patient_type);
            }
            StringBuilder strIllnessHistory = new StringBuilder();
            string        lastKnownWell     = model.cas_metric_is_lastwell_unknown ? "Unknown" : model.cas_metric_lastwell_date_est?.FormatDateTime();

            strIllnessHistory.AppendItem($"<div class='datetime' >Last Known Well: {lastKnownWell}</div>", lastKnownWell);
            strIllnessHistory.AppendItem($"<div class='datetime' >TeleSpecialists Notification Time: {model.cas_response_ts_notification?.FormatDateTime()}</div>", model.cas_response_ts_notification?.FormatDateTime());
            if (patientType != PatientType.Inpatient)
            {
                var title = "Arrival Time:";

                strIllnessHistory.AppendItem($"<div class='datetime' >{title} {model.cas_metric_door_time_est?.FormatDateTime()}</div>", model.cas_metric_door_time_est?.FormatDateTime());
            }

            if (model.cas_metric_symptom_onset_during_ed_stay_time_est.HasValue)
            {
                var title = "Symptom Onset During ED Stay:";
                strIllnessHistory.AppendItem($"<div class='datetime' >{title} {model.cas_metric_symptom_onset_during_ed_stay_time_est?.FormatDateTime()}</div>", model.cas_metric_symptom_onset_during_ed_stay_time_est?.FormatDateTime());
            }

            strIllnessHistory.AppendItem($"<div class='datetime' >Stamp Time: {model.cas_metric_stamp_time_est?.FormatDateTime()}</div>", model.cas_metric_stamp_time_est?.FormatDateTime());
            if (model.cas_callback_response_time_est.HasValue)
            {
                strIllnessHistory.AppendItem($"<div class='datetime' >Callback Response Time: {model.cas_callback_response_time_est?.FormatDateTime()}</div>", model.cas_callback_response_time_est?.FormatDateTime());
            }

            if (model.cas_phy_has_technical_issue && model.cas_phy_technical_issue_date_est.HasValue)
            {
                strIllnessHistory.AppendItem($"<div class='datetime' >Telephone Response Time: {model.cas_phy_technical_issue_date_est?.FormatDateTime()}</div>", model.cas_phy_technical_issue_date_est?.FormatDateTime());
            }

            strIllnessHistory.AppendItem($"<div class='datetime' >Time First Login Attempt: {model.cas_response_first_atempt?.FormatDateTime()}</div>", model.cas_response_first_atempt?.FormatDateTime());
            if (model.cas_ctp_key == 10)
            {
                strIllnessHistory.AppendItem($"<div class='datetime' >Video Start Time: {model.cas_metric_video_start_time_est?.FormatDateTime()}</div>", model.cas_metric_video_start_time_est?.FormatDateTime());
            }
            else
            {
                strIllnessHistory.AppendItem($"<div class='datetime' >Video Start Time: {model.cas_metric_video_start_time_est?.FormatDateTime()}</div><br/>", model.cas_metric_video_start_time_est?.FormatDateTime());
            }

            if (model.cas_ctp_key != 10)
            {
                strIllnessHistory.AppendItem($"Symptoms: { (!string.IsNullOrEmpty(model.cas_metric_symptoms) ? model.cas_metric_symptoms.Replace("<br/>", "") : "")} <br/>", model.cas_metric_symptoms);
                strIllnessHistory.AppendItem($"<div class='datetime' >NIHSS Start Assessment Time: {model.cas_metric_assesment_time_est?.FormatDateTime()}</div>", model.cas_metric_assesment_time_est?.FormatDateTime());
                // Ignoring patient history
                //strIllnessHistory.AppendItem($"<div class='datetime' >Alteplase/Activase early mix decision: {model.cas_metric_tpa_verbal_order_time_est?.FormatDateTime()}</div>", model.cas_metric_tpa_verbal_order_time_est?.FormatDateTime());

                if (model.cas_metric_tpa_consult.ToBool())
                {
                    strIllnessHistory.Append($"Patient is a candidate for Alteplase/Activase. <br/>");
                }
                else
                {
                    strIllnessHistory.Append($"Patient is not a candidate for Alteplase/Activase. <br/>");
                }
            }
            if (model.cas_ctp_key != 10)
            {
                if (model.cas_metric_non_tpa_reason_key != null && model.cas_metric_non_tpa_reason_key > 0)
                {
                    var tpaReason = _uclService.GetDetails(model.cas_metric_non_tpa_reason_key.ToInt());
                    if (tpaReason.ucd_title.ToLower().Equals("other") && !string.IsNullOrEmpty(model.cas_metric_non_tpa_reason_text))
                    {
                        strIllnessHistory.Append($"Patient was not deemed candidate for Alteplase/Activase thrombolytics because of {model.cas_metric_non_tpa_reason_text}. <br/>");
                    }
                    else
                    {
                        strIllnessHistory.Append($"Patient was not deemed candidate for Alteplase/Activase thrombolytics because of {tpaReason.ucd_title}. <br/>");
                    }
                }
            }
            if (model.cas_ctp_key != 10)
            {
                strIllnessHistory.AppendItem($"<div class='datetime' >Alteplase/Activase CPOE Order Time: {model.cas_metric_pa_ordertime_est?.FormatDateTime()}</div>", model.cas_metric_pa_ordertime_est?.FormatDateTime());
                strIllnessHistory.AppendItem($"<div class='datetime' >Needle Time: {model.cas_metric_needle_time_est?.FormatDateTime()}</div>", model.cas_metric_needle_time_est?.FormatDateTime());
                strIllnessHistory.AppendItem($"Weight Noted by Staff: {(model.cas_metric_weight.HasValue ? model.cas_metric_weight.ToString() + " " + model.cas_metric_weight_unit : "")} <br/>", model.cas_metric_weight?.ToString());
            }
            strIllnessHistory.AppendItem($"<div class='datetime' >Video End Time: {model.cas_metric_video_end_time_est?.FormatDateTime()}</div>", model.cas_metric_video_end_time_est?.FormatDateTime());

            if (model.cas_metric_tpa_consult)
            {
                if (model.cas_metric_door_time_est.HasValue && model.cas_metric_needle_time_est.HasValue)
                {
                    if (System.Math.Abs((model.cas_metric_door_time_est.Value.Subtract(model.cas_metric_needle_time_est.Value)).TotalMinutes) >= 45)
                    {
                        if (model.cas_metric_tpaDelay_key.HasValue)
                        {
                            var tpaDelayReasons = _uclService.GetDetails(model.cas_metric_tpaDelay_key.Value);
                            var reason          = tpaDelayReasons.ucd_description;
                            strIllnessHistory.AppendItem($"<div>Reason for Alteplase/Activase Delay: {reason}</div>", reason);
                        }
                    }
                }
            }



            List <string> listCTHead         = new List <string>();
            List <string> listAdvanceImaging = new List <string>();
            List <string> ThrombectomyList   = new List <string>();

            if (model.cas_metric_ct_head_has_no_acture_hemorrhage)
            {
                listCTHead.Add("CT head showed no acute hemorrhage or acute core infarct.");
            }
            if (model.cas_metric_ct_head_is_reviewed)
            {
                if (string.IsNullOrEmpty(model.cas_metric_ct_head_reviewed_text))
                {
                    listCTHead.Add("CT head was reviewed." + model.cas_metric_ct_head_reviewed_text);
                }
                else
                {
                    listCTHead.Add("CT head was reviewed and results were: " + model.cas_metric_ct_head_reviewed_text);
                }
            }
            if (model.cas_metric_ct_head_is_not_reviewed)
            {
                listCTHead.Add("CT head was not reviewed.");
            }
            if (listCTHead.Count() > 0)
            {
                strIllnessHistory.Append($"<br/>{string.Join("<br/> \t", listCTHead)} <br/>");
            }

            if (model.cas_metric_thrombectomy_medical_decision_making == ThrombectomyMedicalDecisionMaking.ClinicalPresentationIsNotSuggestiveOfLargeVesselOcclusiveDisease_PatientIsNotACandidateForThrombectomy.ToInt())
            {
                var text = ThrombectomyMedicalDecisionMaking.ClinicalPresentationIsNotSuggestiveOfLargeVesselOcclusiveDisease_PatientIsNotACandidateForThrombectomy.ToDescription();
                ThrombectomyList.Add(text);
            }

            if (model.cas_metric_thrombectomy_medical_decision_making == ThrombectomyMedicalDecisionMaking.LowerLikelihoodOfLargeVesselOcclusiveButFollowingStatStudiesAreRecommended.ToInt())
            {
                var text = ThrombectomyMedicalDecisionMaking.LowerLikelihoodOfLargeVesselOcclusiveButFollowingStatStudiesAreRecommended.ToDescription();
                ThrombectomyList.Add(text);
            }

            if (model.cas_metric_thrombectomy_medical_decision_making == ThrombectomyMedicalDecisionMaking.ClinicalPresentationIsSuggestiveOfLargeVesselOcclusiveDisease_RecommendationsAreAsFollows.ToInt())
            {
                var text = ThrombectomyMedicalDecisionMaking.ClinicalPresentationIsSuggestiveOfLargeVesselOcclusiveDisease_RecommendationsAreAsFollows.ToDescription();
                ThrombectomyList.Add(text);
            }

            if (ThrombectomyList.Count() > 0)
            {
                strIllnessHistory.Append($"<br/>{string.Join("<br/> \t", ThrombectomyList)} <br/>");
            }

            if (model.cas_metric_advance_imaging_cta_head_and_neck)
            {
                listAdvanceImaging.Add("CTA Head and Neck.");
            }

            if (model.cas_metric_advance_imaging_ct_perfusion)
            {
                listAdvanceImaging.Add("CT Perfusion.");
            }

            if (model.cas_metric_advance_imaging_to_be_reviewed_by_ed_provider_and_nir)
            {
                listAdvanceImaging.Add("Advanced Imaging to be Reviewed by ED Provider and NIR.");
            }

            if (model.cas_metric_advance_imaging_is_suggestive_of_large_vessel_occlusion)
            {
                listAdvanceImaging.Add("Advanced Imaging is Suggestive of Large Vessel Occlusion, Neurointerventional Specialist to be Consulted.");
            }

            if (model.cas_metric_advance_imaging_reviewed_no_indication_of_large_vessel_occlusive_thrombus)
            {
                listAdvanceImaging.Add("Reviewed, No Indication of Large Vessel Occlusive Thrombus, Patient is not an NIR Candidate.");
            }

            if (listAdvanceImaging.Count() > 0)
            {
                strIllnessHistory.Append($"<br/>{string.Join("<br/> \t", listAdvanceImaging)} <br/><br/>");
            }

            //Added for new fields - ticket - 364 : Start

            if (model.cas_metric_radiologist_callback_for_review_of_advance_imaging == true && model.cas_metric_radiologist_callback_for_review_of_advance_imaging_date != null)
            {
                strIllnessHistory.Append("<br />Radiologist was called back for review of advanced imaging on " + model.cas_metric_radiologist_callback_for_review_of_advance_imaging_date?.FormatDateTime());
            }
            else if (model.cas_metric_radiologist_callback_for_review_of_advance_imaging == false && model.cas_metric_radiologist_callback_for_review_of_advance_imaging_notes != null)
            {
                strIllnessHistory.Append("<br />Radiologist was not called back for review of advanced imaging because " + model.cas_metric_radiologist_callback_for_review_of_advance_imaging_notes);
            }
            //if (model.cas_metric_is_neuro_interventional.ToBool())
            //{
            //    strIllnessHistory.Append("This is deemed to be a candidate for thrombectomy.<br/>");
            //    if (model.cas_metric_discussed_with_neurointerventionalist.ToBool())
            //        strIllnessHistory.Append("Case was discussed with Neurointerventionalist.<br/>");
            //    else
            //        strIllnessHistory.Append("Case not discussed with Neurointerventionalist.<br/>");
            //}
            if (model.cas_metric_is_neuro_interventional != null && model.cas_metric_is_neuro_interventional == true)
            {
                if (model.cas_metric_discussed_with_neurointerventionalist == true && model.cas_metric_discussed_with_neurointerventionalist_date != null)
                {
                    strIllnessHistory.Append("<br />Discussed with Neurointerventionalist on " + model.cas_metric_discussed_with_neurointerventionalist_date?.FormatDateTime());
                }
                else if (model.cas_metric_discussed_with_neurointerventionalist == false && model.cas_metric_discussed_with_neurointerventionalist_notes != null)
                {
                    strIllnessHistory.Append("<br />Not discussed with neurointerventionalist because " + model.cas_metric_discussed_with_neurointerventionalist_notes);
                }
            }

            if (patientType != PatientType.Inpatient)
            {
                bool __cas_metric_physician_notified_of_thrombolytics = false;
                if (model.cas_metric_physician_notified_of_thrombolytics.HasValue && model.cas_metric_physician_notified_of_thrombolytics.Value)
                {
                    __cas_metric_physician_notified_of_thrombolytics = true;
                }

                if (__cas_metric_physician_notified_of_thrombolytics == true && model.cas_metric_physician_notified_of_thrombolytics_date != null)
                {
                    strIllnessHistory.Append("<br /> ED Physician notified of diagnostic impression and management plan on " + model.cas_metric_physician_notified_of_thrombolytics_date?.FormatDateTime());
                }
                else if (__cas_metric_physician_notified_of_thrombolytics == false && model.cas_metric_physician_notified_of_thrombolytics_notes != null)
                {
                    strIllnessHistory.Append("<br /> ED Physician not notified of diagnostic impression and management plan because " + model.cas_metric_physician_notified_of_thrombolytics_notes);
                }
            }

            //Added for new fields - ticket - 364 : End

            return(strIllnessHistory.ToString());
        }