/// <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(); }
/// <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); } }
/// <summary> /// 保存诊断信息 /// </summary> /// <param name="diagInfo">诊断信息</param> /// <returns>true:保存成功</returns> public int SaveDiagnosisInfo(IPD_Diagnosis diagInfo) { this.BindDb(diagInfo); return(diagInfo.save()); }