예제 #1
0
        public bool PADAddPatientRecord(string TaskCode, int PatientOrder, string EvenType, string TaskOrder, M_PatientRecord pr, M_PatientRecordAppend pra, string WorkCode, string PersonName, ref string errorMsg)
        {
            try
            {
                if (pr == null)
                {
                    pr = new M_PatientRecord();
                }
                if (pra == null)
                {
                    pra = new M_PatientRecordAppend();
                }

                if (TaskCode == "")
                {
                    TaskCode = m_DAL.GetTaskCodeByTaskOrder(TaskOrder);
                }
                if (TaskCode == "")
                {
                    errorMsg = "任务流水号错误!未在任务中找到该流水号。";
                    return(false);
                }
                pr.TaskCode       = TaskCode;
                pr.PatientOrder   = PatientOrder;
                pr.AgentWorkID    = WorkCode;
                pr.AgentName      = PersonName;
                pr.PatientVersion = EvenType;
                pra.TaskCode      = TaskCode;
                pra.PatientOrder  = PatientOrder;
                object objpr = null;
                M_PatientRecordAppend mpra   = null;
                M_PatientRecordCPR    mprCPR = new M_PatientRecordCPR();;
                M_PatientRecord       mpr    = null;
                mprCPR.TaskCode                = TaskCode;
                mprCPR.PatientOrder            = PatientOrder;
                mprCPR.CenterIFAuditForXFFS    = false;
                pr.MedicalRecordGenerationTime = DateTime.Now;
                pr.IMEI = "PAD";
                m_DAL.GetPatientInfo(TaskCode, PatientOrder, out objpr, out mpra);
                if (objpr != null)
                {
                    mpr = (M_PatientRecord)objpr;
                    ReflectionUtility.UpdateObjectProperty(mpr, pr);
                    ReflectionUtility.UpdateObjectProperty(mpra, pra);
                    m_DAL.Update(pr, pra);
                }
                else
                {
                    string HJTel     = "";
                    string Area      = "";
                    string EventType = "";
                    new MobileTaskDAL().GetMobileTaskInfo(TaskCode, out HJTel, out Area, out EventType);
                    pr.ForHelpTelephone      = HJTel;
                    pr.OriginalTaskType      = EventType;
                    pr.ForArea               = Area;
                    pr.MedicalStateCode      = 0;
                    pr.FormCompleteLogo      = false;
                    pr.SubmitLogo            = false;
                    pr.SubCenterIFSpotChecks = false;
                    pr.CenterIFSpotChecks    = false;
                    pr.LastUpdatePerson      = PersonName;
                    pr.LastUpdateTime        = DateTime.Now;
                    m_DAL.Insert(pr, pra, mprCPR, null, null);
                }
                return(true);
            }
            catch (Exception ex)
            {
                errorMsg = ex.Message;
                return(false);
            }
        }
        //获取病历信息
        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;
        }