/// <summary> /// 特殊记录内容格式Xml的获取 /// </summary> /// <returns></returns> public override string m_strGetTrackXml() { if (m_objRecordContent == null) { return(""); } clsOutHospitalRecordContent objContent = ((clsOutHospitalRecordContent)m_objRecordContent); string strText = m_strGetHeaderText(); string strCreateUserName = ""; clsEmployee objEmployee = new clsEmployee(m_objRecordContent.m_strCreateUserID); if (objEmployee != null) { strCreateUserName = objEmployee.m_StrLastName; } string strXML1 = ctlRichTextBox.s_strMakeTextXml(strText, objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML2 = ctlRichTextBox.s_strMakeTextXml("\n 心电图号:", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML3 = ctlRichTextBox.s_strMakeTextXml("\n X光号:", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML4 = ctlRichTextBox.s_strMakeTextXml("\n 入院诊断:", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML5 = ctlRichTextBox.s_strMakeTextXml("\n 出院诊断:", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML6 = ctlRichTextBox.s_strMakeTextXml("\n 主治医师:" + objContent.m_strMainDoctorName, objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML7 = ctlRichTextBox.s_strMakeTextXml("\n 入院情况:", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML8 = ctlRichTextBox.s_strMakeTextXml("\n 诊疗经过:", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML9 = ctlRichTextBox.s_strMakeTextXml("\n 出院情况:", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML10 = ctlRichTextBox.s_strMakeTextXml("\n 出院医嘱:", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML = ctlRichTextBox.s_strCombineXml(new string[] { strXML1, strXML2, objContent.m_strHeartIDXML, strXML3, objContent.m_strXRayIDXML, strXML4, objContent.m_strInHospitalDiagnoseXML, strXML5, objContent.m_strOutHospitalDiagnoseXML, strXML6, strXML7, objContent.m_strInHospitalCaseXML, strXML8, objContent.m_strInHospitalByXML, strXML9, objContent.m_strOutHospitalCaseXML, strXML10, objContent.m_strOutHospitalAdviceXML }); return(strXML); }
/// <summary> /// 特殊记录内容签名的获取 /// </summary> /// <returns></returns> public override string m_strGetSignText() { if (m_objRecordContent == null) { return(""); } clsOutHospitalRecordContent objContent = ((clsOutHospitalRecordContent)m_objRecordContent); return(objContent.m_strDoctorName); }
/// <summary> /// 设置打印内容。(当数据已经存在时使用。) /// </summary> /// <param name="p_objPrintContent">打印内容</param> public void m_mthSetPrintContent(object p_objPrintContent) { m_blnWantInit = false; if (p_objPrintContent.GetType().Name != "clsPrintInfo_OutHospital") { clsPublicFunction.ShowInformationMessageBox("参数错误"); return; } m_blnIsFromDataSource = false; //表明是从文件直接提取信息 m_objPrintInfo = (clsPrintInfo_OutHospital)p_objPrintContent; m_objRecordContent = m_objPrintInfo.m_objRecordContent; m_mthSetPrintValue(); }
/// <summary> /// 提取表头基本信息 /// </summary> /// <returns></returns> private string m_strGetHeaderText() { if (m_objRecordContent == null) { return(""); } clsOutHospitalRecordContent objContent = ((clsOutHospitalRecordContent)m_objRecordContent); string strText; strText = objContent.m_dtmCreateDate.ToString(MDIParent.s_ObjRecordDateTimeInfo.m_strGetRecordTimeFormat("frmOutHospital")) + " " + "出院记录\n"; clsPatient objPatient = new clsPatient(objContent.m_strInPatientID); if (objPatient != null && objPatient.m_ObjPeopleInfo != null) { strText += " " + objPatient.m_ObjPeopleInfo.m_StrFirstName + "," + objPatient.m_ObjPeopleInfo.m_StrSex + "," + objPatient.m_ObjPeopleInfo.m_IntAge.ToString() + "岁,"; } else { strText += " 病人信息不详,"; } string strInHospitalReason = ""; #region 入院原因(主诉) clsInPatientCaseHisoryDefaultValue[] objInPatientCaseHisoryDefaultValueArr = new clsInPatientCaseHisoryDefaultDomain().lngGetAllInPatientCaseHisoryDefault(objContent.m_strInPatientID, objContent.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss")); if (objInPatientCaseHisoryDefaultValueArr != null && objInPatientCaseHisoryDefaultValueArr.Length > 0) { strInHospitalReason = objInPatientCaseHisoryDefaultValueArr[0].m_strMainDescription; } #endregion 入院原因(主诉) string strLastChar = ""; if (strInHospitalReason != null && strInHospitalReason.Length > 0) { strLastChar = strInHospitalReason.Substring(strInHospitalReason.Length - 1, 1); } if (strLastChar == "." || strLastChar == "," || strLastChar == "," || strLastChar == "。") //去掉最后的标点 { strInHospitalReason = strInHospitalReason.Substring(0, strInHospitalReason.Length - 1); } if (strInHospitalReason != "") { strInHospitalReason = "因" + strInHospitalReason + ","; } TimeSpan ts = objContent.m_dtmOutHospitalDate - objContent.m_dtmInPatientDate; //MM月->01月,M月->1月 只认英文字符 strText += strInHospitalReason + objContent.m_dtmInPatientDate.ToString("yyyy年MM月dd日") + "入院," + objContent.m_dtmOutHospitalDate.ToString("yyyy年MM月dd日") + "出院,共住院" + (ts.Days + 1).ToString() + "天。"; return(strText); }
/// <summary> /// 从数据库初始化打印内容。如果没有记录,打印空报表。(当从数据库读取时要调用.) /// </summary> public void m_mthInitPrintContent() { m_blnWantInit = false; // if (m_objPrintInfo == null) { clsPublicFunction.ShowInformationMessageBox("调用m_mthInitPrintContent之前请首先调用m_mthSetPrintInfo函数"); return; } clsTrackRecordContent objContent = new clsTrackRecordContent(); if (m_objPrintInfo.m_strInPatentID == "" || m_objPrintInfo.m_dtmOpenDate == DateTime.MinValue) { m_objRecordContent = null; } else { m_objRecordsDomain = new clsOutHospitalDomain(); long lngRes = m_objRecordsDomain.m_lngGetRecordContent(m_objPrintInfo.m_strInPatentID, m_objPrintInfo.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss"), m_objPrintInfo.m_dtmOpenDate.ToString("yyyy-MM-dd HH:mm:ss"), out objContent); if (lngRes <= 0) { return; } m_objRecordContent = (clsOutHospitalRecordContent)objContent; } if (m_objRecordContent != null) { if (m_dtmOutDate == DateTime.MinValue) { m_objRecordContent.m_dtmOutHospitalDate = ((clsOutHospitalRecordContent)objContent).m_dtmOutHospitalDate; } else { m_objRecordContent.m_dtmOutHospitalDate = m_dtmOutDate; } } //设置表单内容到打印中 m_objPrintInfo.m_objRecordContent = m_objRecordContent; m_mthSetPrintValue(); //无论有否打印数据,即使在打印空白表时,此行也必须执行. }
/// <summary> /// 特殊记录内容文本的获取。 /// </summary> /// <returns></returns> public override string m_strGetTrackText() { if (m_objRecordContent == null) { return(""); } clsOutHospitalRecordContent objContent = ((clsOutHospitalRecordContent)m_objRecordContent); string strText = m_strGetHeaderText(); strText += "\n 心电图号:" + objContent.m_strHeartID; strText += "\n X光号:" + objContent.m_strXRayID; strText += "\n 入院诊断:" + objContent.m_strInHospitalDiagnose; strText += "\n 出院诊断:" + objContent.m_strOutHospitalDiagnose; strText += "\n 主治医师:" + objContent.m_strMainDoctorName; strText += "\n 入院情况:" + objContent.m_strInHospitalCase; strText += "\n 诊疗经过:" + objContent.m_strInHospitalBy; strText += "\n 出院情况:" + objContent.m_strOutHospitalCase; strText += "\n 出院医嘱:" + objContent.m_strOutHospitalAdvice; return(strText); }
// 获取记录的主要信息(必须获取的是CreateDate,OpenDate,LastModifyDate) protected override clsTrackRecordContent m_objGetRecordMainContent(int p_intRecordType, object[] p_objDataArr) { //根据 p_intRecordType 获取对应的 clsTrackRecordContent clsTrackRecordContent objContent = null; #region switch ((enmDiseaseTrackType)p_intRecordType) { case enmDiseaseTrackType.GeneralDisease: objContent = new clsGeneralDiseaseRecordContent(); break; case enmDiseaseTrackType.HandOver: objContent = new clsHandOverRecordContent(); break; case enmDiseaseTrackType.HandOver_XJ: objContent = new clsHandOverRecordContent_XJ(); break; case enmDiseaseTrackType.TakeOver: objContent = new clsTakeOverRecordContent(); break; case enmDiseaseTrackType.TakeOver_XJ: objContent = new clsTakeOverRecordContent_XJ(); break; case enmDiseaseTrackType.Consultation: objContent = new clsConsultationRecordContent(); break; case enmDiseaseTrackType.Convey: objContent = new clsConveyRecordContent(); break; case enmDiseaseTrackType.Convey_XJ: objContent = new clsConveyRecordContent_XJ(); break; case enmDiseaseTrackType.TurnIn: objContent = new clsTurnInRecordContent(); break; case enmDiseaseTrackType.TurnIn_XJ: objContent = new clsTurnInRecordContent_XJ(); break; case enmDiseaseTrackType.DiseaseSummary: objContent = new clsDiseaseSummaryRecordContent(); break; case enmDiseaseTrackType.DiseaseSummary_XJ: objContent = new clsDiseaseSummaryRecordContent_XJ(); break; case enmDiseaseTrackType.CheckRoom: objContent = new clsCheckRoomRecordContent(); break; case enmDiseaseTrackType.CaseDiscuss: objContent = new clsCaseDiscussRecordContent(); break; case enmDiseaseTrackType.BeforeOperationDiscuss: objContent = new clsBeforeOperationDiscussRecordContent(); break; case enmDiseaseTrackType.DeadCaseDiscuss: objContent = new clsDeadCaseDiscussRecordContent(); break; case enmDiseaseTrackType.DeathCaseDiscuss: objContent = new clsDeadCaseDiscussRecord_VO(); break; case enmDiseaseTrackType.AfterOperation: objContent = new clsAfterOperationRecordContent(); break; case enmDiseaseTrackType.Dead: objContent = new clsDeadRecordContent(); break; case enmDiseaseTrackType.Death: objContent = new clsDeadRecord_VO(); break; case enmDiseaseTrackType.OutHospital: objContent = new clsOutHospitalRecordContent(); break; case enmDiseaseTrackType.Save: objContent = new clsSaveRecordContent(); break; case enmDiseaseTrackType.FirstIllnessNote: objContent = new clsFirstIllnessNoteRecordContent(); break; case enmDiseaseTrackType.FirstIllnessNote_ZY: objContent = new clsFirstIllnessNote_ZYRecordContent(); break; case enmDiseaseTrackType.EMR_SummaryBeforeOP: objContent = new clsEMR_SummaryBeforeOPValue(); break; case enmDiseaseTrackType.FirstIllnessNote_F2: objContent = new clsFirstIllnessNoteRecordContent(); break; case enmDiseaseTrackType.FirstIllnessNote_XJ: objContent = new clsFirstIllnessNoteRecordContent_XJ(); break; } #endregion if (m_objCurrentPatient != null && m_ObjCurrentEmrPatientSession != null) { objContent.m_strInPatientID = m_objCurrentPatient.m_StrInPatientID; } else { clsPublicFunction.ShowInformationMessageBox("当前病人为空!"); return(null); } objContent.m_dtmInPatientDate = m_ObjLastEmrPatientSession.m_dtmEMRInpatientDate; objContent.m_dtmCreateDate = DateTime.Parse((string)p_objDataArr[0]); objContent.m_dtmOpenDate = DateTime.Parse((string)p_objDataArr[2]); objContent.m_dtmModifyDate = DateTime.Parse((string)p_objDataArr[3]); objContent.m_strCreateUserID = (string)p_objDataArr[6]; return(objContent); }
public override void m_mthPrintNextLine(ref int p_intPosY, System.Drawing.Graphics p_objGrp, System.Drawing.Font p_fntNormalText) { //p_objGrp.DrawString("产科出院记录", m_fotItemHead, Brushes.Black, m_intRecBaseX + 290, p_intPosY - 10); //p_intPosY += 20; //p_objGrp.DrawString("姓名:" + m_objPrintInfo.m_strPatientName, p_fntNormalText, Brushes.Black, m_intPatientInfoX + 10, p_intPosY); //p_objGrp.DrawString("住院号:" + m_objPrintInfo.m_strHISInPatientID, p_fntNormalText, Brushes.Black, m_intPatientInfoX + 350, p_intPosY); //出院时间 clsOutHospitalRecordContent m_objRecordOutHost = null; clsOutHospitalDomain m_myOutHosptialDom; DateTime m_dtTmp = DateTime.Now; if (m_objPrintInfo.m_strInPatientID == "" || m_objPrintInfo.m_dtmOpenDate == DateTime.MinValue) { m_myOutHosptialDom = null; } else { m_myOutHosptialDom = new clsOutHospitalDomain(); clsTrackRecordContent objContent = new clsTrackRecordContent(); long lngResm = m_myOutHosptialDom.m_lngGetRecordContent(m_objPrintInfo.m_objContent.m_strInPatientID, m_objPrintInfo.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss"), m_objPrintInfo.m_dtmOpenDate.ToString("yyyy-MM-dd HH:mm:ss"), out objContent); if (lngResm > 0) { m_objRecordOutHost = (clsOutHospitalRecordContent)objContent; } if (m_objRecordOutHost != null) { m_dtTmp = m_objRecordOutHost.m_dtmOutHospitalDate; } } //*出院时间 //p_intPosY += 20; if (m_objPrintInfo.m_dtmInPatientDate != DateTime.MinValue) { p_objGrp.DrawString("住院日期:" + m_objPrintInfo.m_dtmInPatientDate.ToString("yyyy年MM月dd日 HH时"), p_fntNormalText, Brushes.Black, m_intPatientInfoX + 10, p_intPosY); } else { p_objGrp.DrawString("住院日期:", p_fntNormalText, Brushes.Black, m_intPatientInfoX + 10, p_intPosY); } DateTime p_dtmOutHospitalDate = new DateTime(1900, 1, 1); string strRegisterID = ""; long lngRes = 0; if (m_dtTmp != DateTime.MinValue) { p_objGrp.DrawString("至:" + m_dtTmp.ToString("yyyy年MM月dd日 HH时"), p_fntNormalText, Brushes.Black, m_intPatientInfoX + 350, p_intPosY); } else { p_objGrp.DrawString("至:" + DateTime.Now.ToString("yyyy年MM月dd日 HH时"), p_fntNormalText, Brushes.Black, m_intPatientInfoX + 350, p_intPosY); } p_intPosY += 20; TimeSpan m_ds_During = m_dtTmp - m_objPrintInfo.m_dtmHISInDate; p_objGrp.DrawString("住院天数:" + m_ds_During.Days.ToString() + "天", p_fntNormalText, Brushes.Black, m_intPatientInfoX + 10, p_intPosY); p_intPosY += 30; m_blnHaveMoreLine = false; }