Esempio n. 1
0
        /// <summary>
        /// 病历页面初始化
        /// </summary>
        /// <param name="TaskCode">任务编码</param>
        /// <param name="PatientOrder">序号</param>
        /// <param name="state">填写状态</param>
        /// <returns></returns>
        public ActionResult AddPatientRecord(string TaskCode, int PatientOrder, string state)
        {
            //, int PatientOrder//测试
            M_PatientRecordBLL prBLL = new M_PatientRecordBLL();
            M_DictionaryBLL    dBLL  = new M_DictionaryBLL();
            //int PatientOrder = 1;//测试

            M_AttemperData result = prBLL.GetAttemperData(TaskCode, state);//根据任务编码获取调度信息

            ViewBag.Attemper = result;

            ViewData["TaskCode"] = TaskCode == null ? "2012102023555200020101" : TaskCode;
            M_PatientRecord       prInfo; //病历主表信息
            M_PatientRecordAppend pra;    //病历附表--体检等信息
            M_PatientRecordCPR    prCPR;  //病历附表--心肺复苏

            if (state == "new")
            {
                int AddPatientOrder = prBLL.GetPatientMaxOrder(TaskCode);
                ViewData["PatientOrder"] = AddPatientOrder;
                prInfo               = new M_PatientRecord();
                pra                  = new M_PatientRecordAppend();
                prCPR                = new M_PatientRecordCPR();
                ViewBag.PRInfo       = prInfo; //病历主表信息--传到页面
                ViewBag.PRAppendInfo = pra;    //病历附表--体检等信息--传到页面
                ViewBag.PRCPRInfo    = prCPR;  //病历附表--心肺复苏--传到页面
            }
            else
            {
                object oPatientInfo;//病历主表
                prBLL.GetPatientInfo(TaskCode, PatientOrder, out oPatientInfo, out pra, out prCPR);
                if (PatientOrder > 0)
                {
                    prInfo                   = (M_PatientRecord)oPatientInfo;
                    ViewBag.PRInfo           = prInfo; //病历主表信息--传到页面
                    ViewBag.PRAppendInfo     = pra;    //病历附表--体检等信息--传到页面
                    ViewBag.PRCPRInfo        = prCPR;  //病历附表--心肺复苏--传到页面
                    ViewData["PatientOrder"] = PatientOrder;
                    if (SuperRole("SuperRole"))
                    {
                        this.ViewData["SuperRole"] = "SuperRole";//登录人有超级权限
                    }
                    else
                    {
                        this.ViewData["SuperRole"] = "";
                    }

                    string role = UserOperateContext.Current.getMaxPerForRole(); //获取登录人角色(医生、护士、司机)
                    this.ViewData["PatientRole"] = role;                         //
                }
            }
            ViewData["state"] = state == null ? "new" : state;

            if (SuperRole("PRAuditCPR"))
            {
                this.ViewData["PRAuditCPR"] = "PRAuditCPR";//登录人有“心肺复苏审核”权限
            }
            else
            {
                this.ViewData["PRAuditCPR"] = "";
            }

            if (SuperRole("SubCenterSpotChecks"))
            {
                this.ViewData["SubCenterSpotChecks"] = "SubCenterSpotChecks";//登录人有"分中心抽查"权限
            }
            else
            {
                this.ViewData["SubCenterSpotChecks"] = "";
            }

            if (SuperRole("CenterSpotChecks"))
            {
                this.ViewData["CenterSpotChecks"] = "CenterSpotChecks";//登录人有"中心抽查"权限
            }
            else
            {
                this.ViewData["CenterSpotChecks"] = "";
            }

            P_User pUser = new P_User();

            pUser = UserOperateContext.Current.Session_UsrInfo;//获取登录人信息
            ViewData["AgentCode"]            = pUser.ID;
            ViewData["AgentWorkID"]          = pUser.WorkCode;
            ViewData["AgentName"]            = pUser.Name;
            ViewData["BeginFillPatientTime"] = DateTime.Now.ToString();//开始填写病历时间


            #region 为病历页面的CheckBoxList项目赋值
            CheckViewModel model = new CheckViewModel();
            //model.DiseasesClassification = dBLL.GetCheckBoxModelByTableName("M_ZCaseTemplate");//病种分类
            //model.GongShiRen = dBLL.GetCheckBoxModel("GongShiRen");//供史人
            //model.AnamnesisllnessHistory = dBLL.GetCheckBoxModel("PastMedicalHistory");//既往病史
            model.BodyFigure = dBLL.GetCheckBoxModel("PiFu");     //皮肤
            model.Head       = dBLL.GetCheckBoxModel("Head");     //头部
            model.Neck       = dBLL.GetCheckBoxModel("Neck");     //颈部
            model.Chest      = dBLL.GetCheckBoxModel("Chest");    //胸部
            model.Lung       = dBLL.GetCheckBoxModel("Lung");     //肺脏
            model.LungLeft   = dBLL.GetCheckBoxModel("LungLeft"); //左肺
            model.LungRight  = dBLL.GetCheckBoxModel("LungLeft"); //右肺
            model.FuBu       = dBLL.GetCheckBoxModel("FuBu");     //腹部
            model.JiZhu      = dBLL.GetCheckBoxModel("JiZhu");    //脊柱
            model.Limb       = dBLL.GetCheckBoxModel("Limb");     //四肢
            #endregion

            #region 为病历页面的RadioButtonList从数据库传值

            var ProvideMedicalHistoryPeople = new object(); //供史人
            var DiseasesClassification      = new object(); //病种分类
            var PastMedicalHistory          = new object(); //既往病史
            var BabinskiSign        = new object();         //神经系统--巴氏征
            var ChestExtrusionTest  = new object();         //胸廓挤压试验
            var PelvicExtrusionTest = new object();         //骨盆挤压试验

            lock (m_SyncRoot)
            {
                ProvideMedicalHistoryPeople = CacheHelper.GetCache("ProvideMedicalHistoryPeople");
                DiseasesClassification      = CacheHelper.GetCache("DiseasesClassification");
                PastMedicalHistory          = CacheHelper.GetCache("PastMedicalHistory");
                BabinskiSign        = CacheHelper.GetCache("BabinskiSign");
                ChestExtrusionTest  = CacheHelper.GetCache("ChestExtrusionTest");
                PelvicExtrusionTest = CacheHelper.GetCache("PelvicExtrusionTest");
                if (ProvideMedicalHistoryPeople == null)
                {
                    ProvideMedicalHistoryPeople = dBLL.GetCheckBoxOrRadioButtonList("Checkbox", "ProvideMedicalHistoryPeople", "checkbox");
                    CacheHelper.SetCache("ProvideMedicalHistoryPeople", ProvideMedicalHistoryPeople);
                }
                if (DiseasesClassification == null)
                {
                    DiseasesClassification = dBLL.GetCheckBoxListByTableName("M_ZCaseTemplate", "DiseasesClassification", "checkbox");
                    CacheHelper.SetCache("DiseasesClassification", DiseasesClassification);
                }
                if (PastMedicalHistory == null)
                {
                    PastMedicalHistory = dBLL.GetCheckBoxOrRadioButtonList("Checkbox", "PastMedicalHistory", "checkbox");
                    CacheHelper.SetCache("PastMedicalHistory", PastMedicalHistory);
                }
                if (BabinskiSign == null)
                {
                    BabinskiSign = dBLL.GetCheckBoxOrRadioButtonList("Checkbox", "BabinskiSign", "checkbox");
                    CacheHelper.SetCache("BabinskiSign", BabinskiSign);
                }
                if (ChestExtrusionTest == null)
                {
                    ChestExtrusionTest = dBLL.GetCheckBoxOrRadioButtonList("Radio", "ChestExtrusionTest", "radio");
                    CacheHelper.SetCache("ChestExtrusionTest", ChestExtrusionTest);
                }
                if (PelvicExtrusionTest == null)
                {
                    PelvicExtrusionTest = dBLL.GetCheckBoxOrRadioButtonList("Radio", "PelvicExtrusionTest", "radio");
                    CacheHelper.SetCache("PelvicExtrusionTest", PelvicExtrusionTest);
                }
            }
            this.ViewData["ProvideMedicalHistoryPeople"] = ProvideMedicalHistoryPeople;
            this.ViewData["DiseasesClassification"]      = DiseasesClassification;
            this.ViewData["PastMedicalHistory"]          = PastMedicalHistory;
            this.ViewData["BabinskiSign"]        = BabinskiSign;
            this.ViewData["ChestExtrusionTest"]  = ChestExtrusionTest;
            this.ViewData["PelvicExtrusionTest"] = PelvicExtrusionTest;

            #endregion

            return(View(model));
        }
        //获取病历信息
        public void GetPatientRecordInfo(string TaskCode, string WorkID, out M_PatientRecord info, out M_PatientRecordAppend pra, out M_PatientRecordCPR prCPR)
        {
            M_PatientRecordBLL prBLL  = new M_PatientRecordBLL();
            M_AttemperData     result = prBLL.GetAttemperData(TaskCode, ""); //根据任务编码获取调度信息

            info                       = new M_PatientRecord();              //病历主表信息
            info.TaskCode              = TaskCode;
            info.PatientOrder          = 1;
            info.CallOrder             = result.CallOrder;
            info.Name                  = result.Name;
            info.Sex                   = result.Sex;
            info.AgeType               = "岁";
            info.ForHelpTelephone      = result.ForHelpPhone;
            info.ContactTelephone      = result.ContactTelephone;
            info.PatientVersion        = result.AlarmType;
            info.OriginalTaskType      = result.AlarmType;
            info.ForArea               = result.Area;
            info.LocalAddress          = result.LocalAddress;
            info.OutStationCode        = result.StationCode;
            info.Station               = result.Station;
            info.SendAddress           = result.SendAddress;
            info.DrivingTime           = result.DrivingTime;
            info.ArriveSceneTime       = result.ArriveSceneTime;
            info.LeaveSceneTime        = result.LeaveSceneTime;
            info.ArriveDestinationTime = result.ArriveDestinationTime;
            info.Driver                = result.Driver;
            info.StretcherBearersI     = result.StretcherBearers;
            info.DoctorAndNurse        = result.Doctor + result.Nurse;
            P_UserBLL bll  = new P_UserBLL();
            P_User    user = bll.GetListBy(u => u.WorkCode == WorkID).Select(u => u.ToExtModle()).FirstOrDefault(); //查找用户名 密码

            info.AgentCode                   = user.ID.ToString();
            info.AgentWorkID                 = WorkID;
            info.AgentName                   = user.Name;
            info.BeginFillPatientTime        = DateTime.Now;
            info.MedicalRecordGenerationTime = DateTime.Now;
            info.FormCompleteLogo            = false;
            //obj.FormCompleteTime = null;
            info.ChargeOrder           = 0;
            info.SubCenterIFSpotChecks = false;
            info.CenterIFSpotChecks    = false;
            info.SubmitLogo            = false;
            info.SubmitTime            = null;
            info.MedicalStateCode      = 0;
            info.LastUpdatePerson      = user.Name; //填写病历的人员
            info.LastUpdateTime        = DateTime.Now;
            info.CPRIFSuccess          = "";        //心肺复苏选择
            info.IFRefuseTreatment     = "治疗记录";    //是否拒绝治疗(救治记录)
            info.RescueType            = "";        //抢救类型(救治记录)
            info.IMEI = "PAD";                      //从PAD填写


            pra              = new M_PatientRecordAppend();//
            pra.TaskCode     = TaskCode;
            pra.PatientOrder = 1;

            prCPR                      = new M_PatientRecordCPR();//
            prCPR.TaskCode             = TaskCode;
            prCPR.PatientOrder         = 1;
            prCPR.CenterIFAuditForXFFS = false;
        }