/// <summary> /// 特殊记录内容格式Xml的获取 /// </summary> /// <returns></returns> public override string m_strGetTrackXml() { if (m_objRecordContent == null) { return(""); } clsEMR_SummaryBeforeOPValue objContent = ((clsEMR_SummaryBeforeOPValue)m_objRecordContent); string strText; strText = objContent.m_dtmRECORDDATE.ToString("yyyy年MM月dd日") + " " + "术前小结"; string strCreateUserName = m_strGetSignText(); string strXML1 = ctlRichTextBox.clsXmlTool.s_strMakeTextXml(strText, objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML2 = ctlRichTextBox.clsXmlTool.s_strMakeTextXml("\n病情摘要:\n", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML3 = ctlRichTextBox.clsXmlTool.s_strMakeTextXml("\n术前诊断:\n", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML4 = ctlRichTextBox.clsXmlTool.s_strMakeTextXml("\n诊断依据:\n", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML5 = ctlRichTextBox.clsXmlTool.s_strMakeTextXml("\n手术指征:\n", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML6 = ctlRichTextBox.clsXmlTool.s_strMakeTextXml("\n手术方式:\n", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML7 = ctlRichTextBox.clsXmlTool.s_strMakeTextXml("\n麻醉方式:\n", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML8 = ctlRichTextBox.clsXmlTool.s_strMakeTextXml("\n注意事项(术前、术中、术后):\n", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML9 = ctlRichTextBox.clsXmlTool.s_strMakeTextXml("\n术前准备:\n", objContent.m_strCreateUserID, strCreateUserName, System.Drawing.Color.White); string strXML = ctlRichTextBox.clsXmlTool.s_strCombineXml(new string[] { strXML1, strXML2, objContent.m_strDISEASESUMMARYXML, strXML3, objContent.m_strDIAGNOSISBEFOREOPXML, strXML4, objContent.m_strDIAGNOSISGISTXML, strXML5, objContent.m_strOPINDICATIONXML, strXML6, objContent.m_strOPMODEXML, strXML7, objContent.m_strANAMODEXML, strXML8, objContent.m_strPROCEEDINGXML, strXML9, objContent.m_strPREPAREBEFOREOPXML }); return(strXML); }
protected override void m_mthSetDeletedGUIFromContent(clsTrackRecordContent p_objContent) { if (p_objContent == null) { return; } clsEMR_SummaryBeforeOPValue objContent = (clsEMR_SummaryBeforeOPValue)p_objContent; //把表单值赋值到界面,由子窗体重载实现 m_lngCurrentEMR_SEQ = objContent.m_lngEMR_SEQ; m_dtpCreateDate.Value = objContent.m_dtmRECORDDATE; m_txtDiseaseSummary.Text = com.digitalwave.controls.ctlRichTextBox.s_strGetRightText(objContent.m_strDISEASESUMMARY, objContent.m_strDISEASESUMMARYXML); m_txtDiagnoseBeforeOP.Text = com.digitalwave.controls.ctlRichTextBox.s_strGetRightText(objContent.m_strDIAGNOSISBEFOREOP, objContent.m_strDIAGNOSISBEFOREOPXML); m_txtDiagnosisGist.Text = com.digitalwave.controls.ctlRichTextBox.s_strGetRightText(objContent.m_strDIAGNOSISGIST, objContent.m_strDIAGNOSISGISTXML); m_txtOPIndication.Text = com.digitalwave.controls.ctlRichTextBox.s_strGetRightText(objContent.m_strOPINDICATION, objContent.m_strOPINDICATIONXML); m_txtOPMode.Text = com.digitalwave.controls.ctlRichTextBox.s_strGetRightText(objContent.m_strOPMODE, objContent.m_strOPMODEXML); m_txtAnaMode.Text = com.digitalwave.controls.ctlRichTextBox.s_strGetRightText(objContent.m_strANAMODE, objContent.m_strANAMODEXML); m_txtProceeding.Text = com.digitalwave.controls.ctlRichTextBox.s_strGetRightText(objContent.m_strPROCEEDING, objContent.m_strPROCEEDINGXML); m_txtPrepareBeforeOP.Text = com.digitalwave.controls.ctlRichTextBox.s_strGetRightText(objContent.m_strPREPAREBEFOREOP, objContent.m_strPREPAREBEFOREOPXML); if (objContent.objSignerArr != null) { m_mthAddSignToListView(lsvSign, objContent.objSignerArr); } }
/// <summary> /// 把特殊记录的值显示到界面上。 /// </summary> /// <param name="p_objContent"></param> protected override void m_mthSetGUIFromContent(clsTrackRecordContent p_objContent) { if (p_objContent == null) { return; } clsEMR_SummaryBeforeOPValue objContent = (clsEMR_SummaryBeforeOPValue)p_objContent; //把表单值赋值到界面,由子窗体重载实现 m_dtpCreateDate.Value = objContent.m_dtmRECORDDATE; m_txtDiseaseSummary.m_mthSetNewText(objContent.m_strDISEASESUMMARY, objContent.m_strDISEASESUMMARYXML); m_txtDiagnoseBeforeOP.m_mthSetNewText(objContent.m_strDIAGNOSISBEFOREOP, objContent.m_strDIAGNOSISBEFOREOPXML); m_txtDiagnosisGist.m_mthSetNewText(objContent.m_strDIAGNOSISGIST, objContent.m_strDIAGNOSISGISTXML); m_txtOPIndication.m_mthSetNewText(objContent.m_strOPINDICATION, objContent.m_strOPINDICATIONXML); m_txtOPMode.m_mthSetNewText(objContent.m_strOPMODE, objContent.m_strOPMODEXML); m_txtAnaMode.m_mthSetNewText(objContent.m_strANAMODE, objContent.m_strANAMODEXML); m_txtProceeding.m_mthSetNewText(objContent.m_strPROCEEDING, objContent.m_strPROCEEDINGXML); m_txtPrepareBeforeOP.m_mthSetNewText(objContent.m_strPREPAREBEFOREOP, objContent.m_strPREPAREBEFOREOPXML); m_lngCurrentEMR_SEQ = objContent.m_lngEMR_SEQ; #region 签名集合 if (objContent.objSignerArr != null) { m_mthAddSignToListView(lsvSign, objContent.objSignerArr); //lsvSign.Items.Clear(); //for (int i = 0; i < objContent.objSignerArr.Length; i++) //{ // if (objContent.objSignerArr[i].controlName == "lsvSign") // { // ListViewItem lviNewItem = new ListViewItem(objContent.objSignerArr[i].objEmployee.m_strLASTNAME_VCHR); // //ID 检查重复用 // lviNewItem.SubItems.Add(objContent.objSignerArr[i].objEmployee.m_strEMPID_CHR); // //级别 排序用 // lviNewItem.SubItems.Add(objContent.objSignerArr[i].objEmployee.m_strLEVEL_CHR); // //tag均为对象 // lviNewItem.Tag = objContent.objSignerArr[i].objEmployee; // //是按顺序保存故获取顺序也一样 // lsvSign.Items.Add(lviNewItem); // } //} } #endregion 签名 }
/// <summary> /// 特殊记录内容文本的获取。 /// </summary> /// <returns></returns> public override string m_strGetTrackText() { if (m_objRecordContent == null) { return(""); } clsEMR_SummaryBeforeOPValue objContent = ((clsEMR_SummaryBeforeOPValue)m_objRecordContent); string strText; strText = objContent.m_dtmRECORDDATE.ToString("yyyy年MM月dd日") + " " + "术前小结"; strText += "\n病情摘要:\n" + objContent.m_strDISEASESUMMARY; strText += "\n术前诊断:\n" + objContent.m_strDIAGNOSISBEFOREOP; strText += "\n诊断依据:\n" + objContent.m_strDIAGNOSISGIST; strText += "\n手术指征:\n" + objContent.m_strOPINDICATION; strText += "\n手术方式:\n" + objContent.m_strOPMODE; strText += "\n麻醉方式:\n" + objContent.m_strANAMODE; strText += "\n注意事项(术前、术中、术后):\n" + objContent.m_strPROCEEDING; strText += "\n术前准备:\n" + objContent.m_strPREPAREBEFOREOP; 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); }
/// <summary> /// 从界面获取特殊记录的值。如果界面值出错,返回null。 /// </summary> /// <returns></returns> protected override clsTrackRecordContent m_objGetContentFromGUI() { //界面参数校验 int intSignCount = lsvSign.Items.Count; if (m_objCurrentPatient == null || m_ObjCurrentEmrPatientSession == null || intSignCount == 0) { return(null); } //从界面获取表单值 clsEMR_SummaryBeforeOPValue objContent = new clsEMR_SummaryBeforeOPValue(); //获取lsvsign签名 objContent.objSignerArr = new clsEmrSigns_VO[intSignCount]; strUserIDList = ""; strUserNameList = ""; m_mthGetSignArr(new Control[] { lsvSign }, ref objContent.objSignerArr, ref strUserIDList, ref strUserNameList); //for (int i = 0; i < intSignCount; i++) //{ // objContent.objSignerArr[i] = new clsEmrSigns_VO(); // objContent.objSignerArr[i].objEmployee = new clsEmrEmployeeBase_VO(); // objContent.objSignerArr[i].objEmployee = (clsEmrEmployeeBase_VO)(lsvSign.Items[i].Tag); // objContent.objSignerArr[i].controlName = "lsvSign"; // objContent.objSignerArr[i].m_strFORMID_VCHR = "frmEMR_SummaryBeforeOP"; // objContent.objSignerArr[i].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR; // //痕迹格式 0972,0324, // strUserIDList = strUserIDList + objContent.objSignerArr[i].objEmployee.m_strEMPID_CHR.Trim() + ","; // strUserNameList = strUserNameList + objContent.objSignerArr[i].objEmployee.m_strLASTNAME_VCHR.Trim() + ","; //} objContent.m_strModifyUserID = strUserIDList; //设置Richtextbox的modifyuserID 和modifyuserName m_mthSetRichTextBoxAttribInControlWithIDandName(this); #region 是否可以无痕迹修改 if (chkModifyWithoutMatk.Checked) { objContent.m_intMarkStatus = 0; } else { objContent.m_intMarkStatus = 1; } #endregion objContent.m_dtmRECORDDATE = m_dtpCreateDate.Value; objContent.m_strDISEASESUMMARY = m_txtDiseaseSummary.Text; objContent.m_strDISEASESUMMARY_RIGHT = m_txtDiseaseSummary.m_strGetRightText(); objContent.m_strDISEASESUMMARYXML = m_txtDiseaseSummary.m_strGetXmlText(); objContent.m_strDIAGNOSISBEFOREOP = m_txtDiagnoseBeforeOP.Text; objContent.m_strDIAGNOSISBEFOREOP_RIGHT = m_txtDiagnoseBeforeOP.m_strGetRightText(); objContent.m_strDIAGNOSISBEFOREOPXML = m_txtDiagnoseBeforeOP.m_strGetXmlText(); objContent.m_strDIAGNOSISGIST = m_txtDiagnosisGist.Text; objContent.m_strDIAGNOSISGIST_RIGHT = m_txtDiagnosisGist.m_strGetRightText(); objContent.m_strDIAGNOSISGISTXML = m_txtDiagnosisGist.m_strGetXmlText(); objContent.m_strOPINDICATION = m_txtOPIndication.Text; objContent.m_strOPINDICATION_RIGHT = m_txtOPIndication.m_strGetRightText(); objContent.m_strOPINDICATIONXML = m_txtOPIndication.m_strGetXmlText(); objContent.m_strOPMODE = m_txtOPMode.Text; objContent.m_strOPMODE_RIGHT = m_txtOPMode.m_strGetRightText(); objContent.m_strOPMODEXML = m_txtOPMode.m_strGetXmlText(); objContent.m_strANAMODE = m_txtAnaMode.Text; objContent.m_strANAMODE_RIGHT = m_txtAnaMode.m_strGetRightText(); objContent.m_strANAMODEXML = m_txtAnaMode.m_strGetXmlText(); objContent.m_strPROCEEDING = m_txtProceeding.Text; objContent.m_strPROCEEDING_RIGHT = m_txtProceeding.m_strGetRightText(); objContent.m_strPROCEEDINGXML = m_txtProceeding.m_strGetXmlText(); objContent.m_strPREPAREBEFOREOP = m_txtPrepareBeforeOP.Text; objContent.m_strPREPAREBEFOREOP_RIGHT = m_txtPrepareBeforeOP.m_strGetRightText(); objContent.m_strPREPAREBEFOREOPXML = m_txtPrepareBeforeOP.m_strGetXmlText(); objContent.m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR; objContent.m_lngEMR_SEQ = m_lngCurrentEMR_SEQ; return(objContent); }