Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <summary>
        /// 特殊记录内容签名的获取
        /// </summary>
        /// <returns></returns>
        public override string m_strGetSignText()
        {
            if (m_objRecordContent == null)
            {
                return("");
            }
            clsOutHospitalRecordContent objContent = ((clsOutHospitalRecordContent)m_objRecordContent);

            return(objContent.m_strDoctorName);
        }
Пример #3
0
 /// <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();
 }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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();            //无论有否打印数据,即使在打印空白表时,此行也必须执行.
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        // 获取记录的主要信息(必须获取的是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;
            }