Ejemplo n.º 1
0
        /// <summary>
        /// 获得健康档案病人信息
        /// </summary>
        /// <param name="patName">病人姓名</param>
        public static DataTable GetPatFileId(string patName)
        {
            CHIService  service = new CHIService();
            XmlDocument result  = new XmlDocument();

            result.LoadXml(service.getPatientInfo("name", patName));
            if (Convert.ToBoolean(result.SelectSingleNode("chs/status").InnerText))
            {
                DataTable table = new DataTable();
                foreach (XmlNode node in result.SelectSingleNode("chs/table/row").ChildNodes)
                {
                    table.Columns.Add(node.Name, Type.GetType("System.String"));
                }
                foreach (XmlNode node in result.SelectSingleNode("chs/table").ChildNodes)
                {
                    DataRow row = table.NewRow();
                    foreach (XmlNode childNode in node.ChildNodes)
                    {
                        row[childNode.Name] = childNode.InnerText;
                    }
                    table.Rows.Add(row);
                }
                return(table);
            }
            else
            {
                throw new Exception(result.SelectSingleNode("chs/message").InnerText);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 查询住院入院信息
        /// </summary>
        /// <param name="dahid"></param>
        /// <returns></returns>
        public static DataTable GetZyryInfo(string dahid)
        {
            CHIService  service = new CHIService();
            XmlDocument result  = new XmlDocument();

            result.LoadXml(service.getZyryInfo(dahid));
            if (Convert.ToBoolean(result.SelectSingleNode("chs/status").InnerText))
            {
                DataTable table = new DataTable();
                table.Columns.Add("入院时间", Type.GetType("System.String"));
                table.Columns.Add("入院科室", Type.GetType("System.String"));
                table.Columns.Add("床号", Type.GetType("System.String"));
                table.Columns.Add("主治医生", Type.GetType("System.String"));
                table.Columns.Add("就诊医院", Type.GetType("System.String"));
                table.Columns.Add("登记人", Type.GetType("System.String"));
                table.Columns.Add("登记日期", Type.GetType("System.String"));
                table.Columns.Add("record", Type.GetType("System.String"));
                foreach (XmlNode node in result.SelectSingleNode("chs/table").ChildNodes)
                {
                    DataRow row = table.NewRow();
                    row["入院时间"] = node.SelectSingleNode("RYRQ").InnerText.Replace("null", "");
                    row["入院科室"] = node.SelectSingleNode("RYKS").InnerText.Replace("null", "");
                    row["床号"]   = node.SelectSingleNode("CH").InnerText.Replace("null", "");
                    row["主治医生"] = node.SelectSingleNode("ZZYS").InnerText.Replace("null", "");
                    row["就诊医院"] = node.SelectSingleNode("JZYY").InnerText.Replace("null", "");
                    row["登记人"]  = node.SelectSingleNode("DJR").InnerText.Replace("null", "");
                    row["登记日期"] = node.SelectSingleNode("DJRQ").InnerText.Replace("null", "");
                    XmlDocument xmlDoc   = new XmlDocument();
                    XmlNode     rootNode = xmlDoc.CreateElement("入院记录");

                    XmlDocument model = new XmlDocument();
                    model.LoadXml(Properties.Resources.ToHospitalRecords);
                    foreach (XmlNode node1 in node.ChildNodes)
                    {
                        foreach (XmlNode node2 in model.SelectSingleNode("chs/table/row").ChildNodes)
                        {
                            if (node1.Name.Trim().ToLower() == node2.Name.Trim().ToLower())
                            {
                                XmlNode newNode = xmlDoc.CreateElement(node2.InnerText);
                                newNode.InnerText = node1.InnerText.Replace("null", "");
                                rootNode.AppendChild(newNode);
                            }
                        }
                    }
                    xmlDoc.AppendChild(rootNode);
                    row["record"] = xmlDoc.InnerXml;
                    table.Rows.Add(row);
                }
                return(table);
            }
            else
            {
                throw new Exception(result.SelectSingleNode("chs/message").InnerText);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 查询综合信息
        /// </summary>
        /// <param name="dahid"></param>
        /// <param name="lb">null 为查询全部信息
        ///2 基本信息</param>
        ///3 体检信息</param>
        ///4 健教信息</param>
        ///5 产检分娩访视信息</param>
        ///6 妇女保健信息</param>
        ///7 儿童体检信息</param>
        ///8 康复访视信息</param>
        ///9 传染病登记信息</param>
        ///10 慢病监测信息</param>
        ///11 预防接种信息</param>
        /// <returns></returns>
        public static string GetZhxx(string dahid, string lb)
        {
            CHIService service = new CHIService();

            if (lb.Trim() == "1")
            {
                return(service.getZhxx(dahid, null));
            }
            else
            {
                return(service.getZhxx(dahid, lb));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获得健康档案病人档案号ID
        /// </summary>
        /// <param name="mediCard"></param>
        /// <param name="patName"></param>
        /// <returns></returns>
        public static string GetPatFileId(string mediCard, string patName)
        {
            CHIService  service = new CHIService();
            XmlDocument result  = new XmlDocument();

            result.LoadXml(service.getJkdaInfo(mediCard, patName));
            if (Convert.ToBoolean(result.SelectSingleNode("chs/status").InnerText))
            {
                return(result.SelectSingleNode("chs/table/row/DAHID").InnerText);
            }
            else
            {
                throw new Exception(result.SelectSingleNode("chs/message").InnerText);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 查询住院处方信息
        /// </summary>
        /// <param name="dahid"></param>
        /// <returns></returns>
        public static DataTable GetZycfInfo(string dahid)
        {
            CHIService  service = new CHIService();
            XmlDocument result  = new XmlDocument();

            result.LoadXml(service.getZycfInfo(dahid));
            if (Convert.ToBoolean(result.SelectSingleNode("chs/status").InnerText))
            {
                DataTable table = new DataTable();
                return(table);
            }
            else
            {
                throw new Exception(result.SelectSingleNode("chs/message").InnerText);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 判断是否已上传该住院病历信息
        /// </summary>
        /// <param name="dahid">档案号</param>
        /// <param name="his_blbh">病历编号</param>
        /// <returns></returns>
        public static bool CheckZy(string dahid, string his_blbh)
        {
            CHIService  service = new CHIService();
            XmlDocument result  = new XmlDocument();

            //result.LoadXml(service.getPatientInfo(dahid, his_blbh));
            //if (Convert.ToBoolean(result.SelectSingleNode("chs/status").InnerText))
            //{
            //    return Convert.ToBoolean(result.SelectSingleNode("chs/message").InnerText);
            //}
            //else
            //{
            //    throw new Exception(result.SelectSingleNode("chs/message").InnerText);
            //}
            return(false);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 上传住院费用
        /// </summary>
        /// <param name="patListId"></param>
        /// <param name="dahId"></param>
        /// <param name="recordId"></param>
        public static void Upload_Zycf_Records(int patListId, string dahId, int recordId)
        {
            XmlDocument upateData = new XmlDocument();
            XmlDocument result    = new XmlDocument();

            upateData.LoadXml(Properties.Resources.ZycfRecords);
            #region  入处方数据
            DataTable table = GetMzcfRecord(patListId);
            XmlNode   node  = upateData.SelectSingleNode("chs/table/row").Clone();
            upateData.SelectSingleNode("chs/table").RemoveAll();
            for (int index = 0; index < table.Rows.Count; index++)
            {
                XmlNode childNode = node.Clone();
                childNode.SelectSingleNode("cfbh").InnerText  = table.Rows[index]["order_id"].ToString(); //处方编号
                childNode.SelectSingleNode("dahid").InnerText = dahId;                                    //档案号id
                childNode.SelectSingleNode("jzsj").InnerText  = Convert.ToDateTime(table.Rows[index]["curedate"]).Year.ToString("0000") +
                                                                Convert.ToDateTime(table.Rows[index]["curedate"]).Month.ToString("00") +
                                                                Convert.ToDateTime(table.Rows[index]["curedate"]).Day.ToString("00");               //就诊时间
                childNode.SelectSingleNode("xmmc").InnerText = table.Rows[index]["order_content"].ToString();                                       //项目名称
                childNode.SelectSingleNode("gg").InnerText   = table.Rows[index]["order_spec"].ToString();                                          //规格
                childNode.SelectSingleNode("cs").InnerText   = table.Rows[index]["address"].ToString();                                             //产商
                childNode.SelectSingleNode("ph").InnerText   = "";                                                                                  // table.Rows[index]["batchnum"].ToString();  //批号
                childNode.SelectSingleNode("sl").InnerText   = table.Rows[index]["sl"].ToString();                                                  //数量
                childNode.SelectSingleNode("dw").InnerText   = table.Rows[index]["unit"].ToString();                                                //单位
                childNode.SelectSingleNode("dj").InnerText   = table.Rows[index]["order_price"].ToString();                                         //单价
                childNode.SelectSingleNode("yf").InnerText   = table.Rows[index]["order_usage"].ToString();                                         //用法
                childNode.SelectSingleNode("yl").InnerText   = table.Rows[index]["amount"].ToString() + table.Rows[index]["usage_unit"].ToString(); //用量
                childNode.SelectSingleNode("pl").InnerText   = table.Rows[index]["frequency"].ToString();                                           //频率
                childNode.SelectSingleNode("djr").InnerText  = table.Rows[index]["name"].ToString();                                                //登记人
                childNode.SelectSingleNode("djrq").InnerText = Convert.ToDateTime(table.Rows[index]["order_bdate"]).Year.ToString("0000") +
                                                               Convert.ToDateTime(table.Rows[index]["order_bdate"]).Month.ToString("00") +
                                                               Convert.ToDateTime(table.Rows[index]["order_bdate"]).Day.ToString("00"); //登记日期
                childNode.SelectSingleNode("jgdm").InnerText     = HIS.SYSTEM.Core.EntityConfig.WorkID.ToString();                      //机构代码
                childNode.SelectSingleNode("his_blbh").InnerText = recordId.ToString();                                                 //病历编号
                upateData.SelectSingleNode("chs/table").AppendChild(childNode);
            }
            #endregion

            CHIService service = new CHIService();
            result.LoadXml(service.upload_Mzcf_Records(upateData.InnerXml));

            if (!Convert.ToBoolean(result.SelectSingleNode("chs/status").InnerText))
            {
                throw new Exception(result.SelectSingleNode("chs/message").InnerText);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 上传病程记录
        /// </summary>
        /// <param name="record">病历记录</param>
        public static void Upload_In_Hospital_Records(string dahId, EmrRecord record)
        {
            XmlDocument upateData = new XmlDocument();
            XmlDocument result    = new XmlDocument();

            upateData.LoadXml(Properties.Resources.InHospitalRecords);
            #region  入病历数据
            foreach (XmlNode node in upateData.SelectSingleNode("chs/table/row").ChildNodes)
            {
                foreach (XmlNode recordNode in record.RecordContentXml.SelectSingleNode("病程记录").ChildNodes)
                {
                    if (node.InnerText.Trim() == recordNode.Name.Trim())
                    {
                        node.InnerText = recordNode.InnerText;
                    }
                }
            }
            Model.PatientInfo patInfo = BindEntity <Model.PatientInfo> .CreateInstanceDAL(oleDb).GetModel(record.PatId);

            Model.ZY_PatList patList = BindEntity <Model.ZY_PatList> .CreateInstanceDAL(oleDb).GetModel(record.PatListId);

            upateData.SelectSingleNode("chs/table/row/zyid").InnerText  = (HIS.SYSTEM.Core.EntityConfig.WorkID * 10000000 + record.PatListId).ToString();                                                            //住院ID
            upateData.SelectSingleNode("chs/table/row/dahid").InnerText = dahId;                                                                                                                                     //档案号
            upateData.SelectSingleNode("chs/table/row/cf").InnerText    = "";                                                                                                                                        //处方
            upateData.SelectSingleNode("chs/table/row/qt").InnerText    = "";                                                                                                                                        //其他
            upateData.SelectSingleNode("chs/table/row/zdqt").InnerText  = "";                                                                                                                                        //其他诊断
            upateData.SelectSingleNode("chs/table/row/jcrq").InnerText  = record.RecordCreateDate.Year.ToString("0000") + record.RecordCreateDate.Month.ToString("00") + record.RecordCreateDate.Day.ToString("00"); //检查日期
            upateData.SelectSingleNode("chs/table/row/jcys").InnerText  = new GWMHIS.BussinessLogicLayer.Classes.Employee(Convert.ToInt64(record.RecordCreateEmp)).Name;                                             //检查医生
            upateData.SelectSingleNode("chs/table/row/jgdm").InnerText  = HIS.SYSTEM.Core.EntityConfig.WorkID.ToString();
            upateData.SelectSingleNode("chs/table/row/djr").InnerText   = new GWMHIS.BussinessLogicLayer.Classes.Employee(Convert.ToInt64(record.RecordCreateEmp)).Name;
            upateData.SelectSingleNode("chs/table/row/djrq").InnerText  = record.RecordCreateDate.Year.ToString("0000") + record.RecordCreateDate.Month.ToString("00") + record.RecordCreateDate.Day.ToString("00");
            #endregion

            CHIService service = new CHIService();
            result.LoadXml(service.upload_In_Hospital_Records(upateData.InnerXml));

            if (Convert.ToBoolean(result.SelectSingleNode("chs/status").InnerText))
            {
                record.UpdateFlag = 1;
                record.Update();
            }
            else
            {
                throw new Exception(result.SelectSingleNode("chs/message").InnerText);
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 上传门诊病历记录
        /// </summary>
        /// <param name="record">病历记录</param>
        public static void Upload_Clinic_Medical_Records(string dahId, EmrRecord record)
        {
            XmlDocument upateData = new XmlDocument();
            XmlDocument result    = new XmlDocument();

            upateData.LoadXml(Properties.Resources.ClinicMedicalRecords);
            #region  入病历数据
            foreach (XmlNode node in upateData.SelectSingleNode("chs/table/row").ChildNodes)
            {
                foreach (XmlNode recordNode in record.RecordContentXml.SelectSingleNode("门急诊病历").ChildNodes)
                {
                    if (node.InnerText.Trim() == recordNode.Name.Trim())
                    {
                        node.InnerText = recordNode.InnerText;
                    }
                }
            }
            Model.PatientInfo patInfo = BindEntity <Model.PatientInfo> .CreateInstanceDAL(oleDb).GetModel(record.PatId);   //病人信息

            Model.MZ_PatList patList = BindEntity <Model.MZ_PatList> .CreateInstanceDAL(oleDb).GetModel(record.PatListId); //病人就诊信息

            upateData.SelectSingleNode("chs/table/row/dahid").InnerText    = dahId;                                        //健康档案号
            upateData.SelectSingleNode("chs/table/row/cf").InnerText       = "";
            upateData.SelectSingleNode("chs/table/row/jzrq").InnerText     = patList.CureDate.Year.ToString("0000") + patList.CureDate.Month.ToString("00") + patList.CureDate.Day.ToString("00");
            upateData.SelectSingleNode("chs/table/row/jzys").InnerText     = new GWMHIS.BussinessLogicLayer.Classes.Employee(Convert.ToInt64(patList.CureEmpCode)).Name;
            upateData.SelectSingleNode("chs/table/row/jzjg").InnerText     = HIS.SYSTEM.Core.EntityConfig.WorkName;
            upateData.SelectSingleNode("chs/table/row/jgdm").InnerText     = HIS.SYSTEM.Core.EntityConfig.WorkID.ToString();
            upateData.SelectSingleNode("chs/table/row/djr").InnerText      = new GWMHIS.BussinessLogicLayer.Classes.Employee(Convert.ToInt64(record.RecordCreateEmp)).Name;
            upateData.SelectSingleNode("chs/table/row/djrq").InnerText     = record.RecordCreateDate.Year.ToString("0000") + record.RecordCreateDate.Month.ToString("00") + record.RecordCreateDate.Day.ToString("00");
            upateData.SelectSingleNode("chs/table/row/his_blbh").InnerText = (record.RecordId).ToString();
            #endregion

            CHIService service = new CHIService();
            result.LoadXml(service.upload_Clinic_Medical_Records(upateData.InnerXml));

            if (Convert.ToBoolean(result.SelectSingleNode("chs/status").InnerText))
            {
                record.UpdateFlag = 1;
                record.Update();
                Upload_Mzcf_Records(record.PatListId, dahId, record.RecordId);
            }
            else
            {
                throw new Exception(result.SelectSingleNode("chs/message").InnerText);
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 查询体检日期
        /// </summary>
        /// <param name="s_ylzh"></param>
        /// <param name="s_sfz"></param>
        /// <returns></returns>
        public static string GetTjrq(string ylzh, string sfz)
        {
            CHIService service = new CHIService();

            return(service.getTjrq(ylzh, sfz));
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 查询预防接种信息
        /// </summary>
        /// <param name="s_dahid"></param>
        /// <returns></returns>
        public static string GetYfjzInfo(string dahid)
        {
            CHIService service = new CHIService();

            return(service.getYfjzInfo(dahid));
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 上传入院记录
        /// </summary>
        /// <param name="record">病历记录</param>
        public static void Upload_To_Hospital_Records(string dahId, EmrRecord record)
        {
            XmlDocument upateData = new XmlDocument();
            XmlDocument result    = new XmlDocument();

            upateData.LoadXml(Properties.Resources.ToHospitalRecords);
            #region  入病历数据
            foreach (XmlNode node in upateData.SelectSingleNode("chs/table/row").ChildNodes)
            {
                foreach (XmlNode recordNode in record.RecordContentXml.SelectSingleNode("入院记录").ChildNodes)
                {
                    if (node.InnerText.Trim() == recordNode.Name.Trim())
                    {
                        node.InnerText = recordNode.InnerText;
                    }
                }
            }

            Model.PatientInfo patInfo = BindEntity <Model.PatientInfo> .CreateInstanceDAL(oleDb).GetModel(record.PatId);

            Model.ZY_PatList patList = BindEntity <Model.ZY_PatList> .CreateInstanceDAL(oleDb).GetModel(record.PatListId);

            upateData.SelectSingleNode("chs/table/row/zyid").InnerText  = (HIS.SYSTEM.Core.EntityConfig.WorkID * 10000000 + record.PatListId).ToString(); //住院ID
            upateData.SelectSingleNode("chs/table/row/zyh").InnerText   = patInfo.CureNo;                                                                 //住院号
            upateData.SelectSingleNode("chs/table/row/dahid").InnerText = dahId;                                                                          //档案号
            upateData.SelectSingleNode("chs/table/row/zylx").InnerText  = "1";                                                                            //住院类型
            //付费方式
            switch (patInfo.ACCOUNTTYPE)
            {
            case "自费":
                upateData.SelectSingleNode("chs/table/row/fffs").InnerText = "8";
                break;

            case "农合":
                upateData.SelectSingleNode("chs/table/row/fffs").InnerText = "6";
                break;

            case "居民医保":
                upateData.SelectSingleNode("chs/table/row/fffs").InnerText = "4";
                break;

            case "职工医保":
                upateData.SelectSingleNode("chs/table/row/fffs").InnerText = "3";
                break;

            case "公费":
                upateData.SelectSingleNode("chs/table/row/fffs").InnerText = "1";
                break;

            default:
                upateData.SelectSingleNode("chs/table/row/fffs").InnerText = "9";
                break;
            }
            upateData.SelectSingleNode("chs/table/row/ryrq").InnerText     = patList.CureDate.Year.ToString("0000") + patList.CureDate.Month.ToString("00") + patList.CureDate.Day.ToString("00"); //入院时间
            upateData.SelectSingleNode("chs/table/row/ryks").InnerText     = new GWMHIS.BussinessLogicLayer.Classes.Employee(Convert.ToInt64(patList.CureDeptCode)).Name;                          //科室
            upateData.SelectSingleNode("chs/table/row/ch").InnerText       = patList.BedCode;                                                                                                      //床号
            upateData.SelectSingleNode("chs/table/row/zzys").InnerText     = new GWMHIS.BussinessLogicLayer.Classes.Employee(Convert.ToInt64(Convert.ToInt64(patList.CureDocCode))).Name;          //主治医生
            upateData.SelectSingleNode("chs/table/row/qt").InnerText       = "";                                                                                                                   //其他
            upateData.SelectSingleNode("chs/table/row/csd").InnerText      = "";                                                                                                                   //出生地
            upateData.SelectSingleNode("chs/table/row/gzdw").InnerText     = "";                                                                                                                   //工作单位
            upateData.SelectSingleNode("chs/table/row/zdqt").InnerText     = "";
            upateData.SelectSingleNode("chs/table/row/jzyy").InnerText     = HIS.SYSTEM.Core.EntityConfig.WorkName;
            upateData.SelectSingleNode("chs/table/row/jgdm").InnerText     = HIS.SYSTEM.Core.EntityConfig.WorkID.ToString();
            upateData.SelectSingleNode("chs/table/row/djr").InnerText      = new GWMHIS.BussinessLogicLayer.Classes.Employee(Convert.ToInt64(record.RecordCreateEmp)).Name;
            upateData.SelectSingleNode("chs/table/row/djrq").InnerText     = record.RecordCreateDate.Year.ToString("0000") + record.RecordCreateDate.Month.ToString("00") + record.RecordCreateDate.Day.ToString("00");
            upateData.SelectSingleNode("chs/table/row/his_blbh").InnerText = (record.RecordId).ToString();
            #endregion

            CHIService service = new CHIService();
            result.LoadXml(service.upload_To_Hospital_Records(upateData.InnerXml));

            if (Convert.ToBoolean(result.SelectSingleNode("chs/status").InnerText))
            {
                record.UpdateFlag = 1;
                record.Update();
                Upload_Zycf_Records(record.PatListId, dahId, record.RecordId);
            }
            else
            {
                throw new Exception(result.SelectSingleNode("chs/message").InnerText);
            }
        }