Example #1
0
        /// <summary>
        /// 出院/死亡医嘱
        /// </summary>
        /// <param name="patlistid">病人ID</param>
        /// <param name="list">需自动停嘱对象</param>
        /// <param name="outDate">出院日期</param>
        /// <param name="outDiseaseName">出院诊断</param>
        /// <param name="outDiseaseCode">诊断编码</param>
        /// <param name="outSituation">出院情况</param>
        /// <param name="oprator">操作员</param>
        /// <param name="spciRecord">出院医嘱</param>
        public void OutHospOrder(int patlistid, List <IPD_OrderRecord> list, DateTime outDate, string outDiseaseName, string outDiseaseCode, string outSituation, int oprator, IPD_OrderRecord spciRecord)
        {
            //医嘱自动停保存
            foreach (IPD_OrderRecord record in list)
            {
                this.BindDb(record);
                record.save();
            }

            IP_PatList patlist = NewObject <IP_PatList>().getmodel(patlistid) as IP_PatList;

            if (patlist.Status != 2 || patlist.IsLeaveHosOrder == 1)
            {
                throw new Exception("病人状态已经不在床或已经开出院医嘱,不能开出院医嘱");
            }

            SerialNumberSource serialNumberSource = NewObject <SerialNumberSource>();
            string             groupID            = serialNumberSource.GetSerialNumber(SnType.医嘱组号);

            //生成说明性临嘱保存
            spciRecord.GroupID   = Convert.ToInt32(groupID);
            spciRecord.PatDeptID = patlist.CurrDeptID;
            spciRecord.WardID    = patlist.CurrWardID;
            spciRecord.Dosage    = 1;
            this.BindDb(spciRecord);
            spciRecord.save();
            //病人状态修改
            // patlist.Status = 5;
            patlist.IsLeaveHosOrder = 1;
            patlist.OutSituation    = outSituation;
            patlist.LeaveHDate      = outDate;
            this.BindDb(patlist);
            patlist.save();
            //诊断表保存
            IPD_Diagnosis ipdDiag = new IPD_Diagnosis();

            ipdDiag.PatListID     = patlist.PatListID;
            ipdDiag.DeptID        = patlist.CurrDeptID;
            ipdDiag.DgsDocID      = oprator;
            ipdDiag.DiagnosisTime = DateTime.Now;
            ipdDiag.DiagnosisName = outDiseaseName;
            ipdDiag.ICDCode       = outDiseaseCode;
            ipdDiag.OrderID       = spciRecord.OrderID;
            if (spciRecord.OrderType == 5)
            {
                //出院诊断
                ipdDiag.DiagnosisClass = 67334;
            }
            else if (spciRecord.OrderType == 6)
            {
                //死亡诊断
                ipdDiag.DiagnosisClass = 67342;
            }

            this.BindDb(ipdDiag);
            ipdDiag.save();
        }
Example #2
0
        /// <summary>
        /// 保存病人入院登记信息
        /// </summary>
        /// <param name="ip_PatList">入院登记信息</param>
        /// <param name="ip_PatientInfo">病人基本信息</param>
        /// <param name="isNewPatient">true:新入院/false:修改病人信息</param>
        /// <param name="inpatientReg">是否为住院证登记</param>
        /// <returns>错误消息</returns>
        public string PatientRegistration(IP_PatList ip_PatList, IP_PatientInfo ip_PatientInfo, bool isNewPatient, bool inpatientReg)
        {
            if (isNewPatient)
            {
                // 检查当前会员是否已办理入院
                bool result = NewDao <IIPManageDao>().CheckPatientInTheHospital(ip_PatList.CardNO);
                if (!result)
                {
                    return("病人已在院,入院登记失败!");
                }
                // 新入院病人是否为住院证登记
                if (inpatientReg)
                {
                    // 修改住院证信息
                    NewDao <IIPManageDao>().UpdateInpatientReg(ip_PatList.MemberID);
                }
            }
            // 保存病人登记信息
            ip_PatList.OutSituation = ip_PatList.EnterSituation;
            this.BindDb(ip_PatList);
            ip_PatList.save();
            // 保存病人基本信息
            ip_PatientInfo.PatListID = ip_PatList.PatListID;
            this.BindDb(ip_PatientInfo);
            ip_PatientInfo.save();
            // 新入院病人保存诊断信息
            if (isNewPatient)
            {
                if (!string.IsNullOrEmpty(ip_PatList.EnterDiseaseName) && !string.IsNullOrEmpty(ip_PatList.EnterDiseaseCode))
                {
                    // 保存诊断信息
                    IPD_Diagnosis diagnosis = NewObject <IPD_Diagnosis>();
                    diagnosis.PatListID      = ip_PatList.PatListID;
                    diagnosis.DeptID         = ip_PatList.CurrDeptID;
                    diagnosis.DgsDocID       = ip_PatList.CurrDoctorID;
                    diagnosis.DiagnosisTime  = DateTime.Now;
                    diagnosis.DiagnosisClass = 67329;
                    diagnosis.Main           = 0;
                    diagnosis.DiagnosisName  = ip_PatList.EnterDiseaseName;
                    diagnosis.DiagnosisID    = 0;
                    diagnosis.ICDCode        = ip_PatList.EnterDiseaseCode;
                    this.BindDb(diagnosis);
                    diagnosis.save();
                }
            }

            return(string.Empty);
        }
        public int SaveDiagInfo(int diagClass, int main, int diagID, string diagName, string iCDCode, string effect, bool diagFlag, int id)
        {
            IPD_Diagnosis diag = new IPD_Diagnosis();

            if (id > 0)
            {
                diag.ID = id;
            }

            diag.PatListID      = ifrmOrderManager.CurPatListId;
            diag.DeptID         = LoginUserInfo.DeptId;
            diag.DgsDocID       = LoginUserInfo.EmpId;
            diag.DiagnosisTime  = System.DateTime.Now;
            diag.DiagnosisClass = diagClass;
            diag.Main           = main;
            if (diagFlag == true)
            {
                diag.DiagnosisID = diagID;
                diag.ICDCode     = iCDCode;
            }

            diag.DiagnosisName = diagName;
            diag.Effect        = effect;
            try
            {
                Action <ClientRequestData> requestAction = ((ClientRequestData request) =>
                {
                    request.AddData(diag);
                });
                ServiceResponseData retDiagBasic = InvokeWcfService("IPProject.Service", "DiagnosisController", "SaveDiagInfo", requestAction);
                MessageBoxShowSimple("保存成功");
                return(retDiagBasic.GetData <int>(0));
            }
            catch (Exception err)
            {
                MessageBoxShowError(err.Message);
                return(-1);
            }
        }
Example #4
0
 /// <summary>
 /// 保存诊断信息
 /// </summary>
 /// <param name="diagInfo">诊断信息</param>
 /// <returns>true:保存成功</returns>
 public int SaveDiagnosisInfo(IPD_Diagnosis diagInfo)
 {
     this.BindDb(diagInfo);
     return(diagInfo.save());
 }