• 医疗系统--体温单(三测单)系统(体温单控件)


         不同区域的体温单格式不尽相同,本文以江苏某地体温单为范例,介绍完整的体温单系统开发。

      1、名词解释

        体温单:又叫三测单,是护理病历的一部分。体温单主要用于记录患者的生命体征及有关情况,内容包括患者姓名、年龄、性别、科别、床号、入院日期、住院号(或病案号)、日期、住院天数、手术后天数、脉搏、呼吸、体温、血压、出入量、大便次数、体重、身高、页码等。

      2、体温单功能点

        结合病历书写规范以及医生在临床中的习惯,电子体温单的功能点主要包括以下部分:

    分类 序号 功能说明
      1 表头(XXX医院,体温单)
    文字部分 2 蓝色或黑色水笔填写页眉各栏,包括:姓名,年龄,性别,科别,床号,入院日期,住院号,数字均使用阿拉伯数字
    3 住院日期首页第1日及跨年度的第1日需填写"年-月-日"(如:2010-01-01)。
    每页体温单的第1日及跨月的第1日需填写“月-日”(如:03-01),其余只填写日期
    4 蓝色或者黑色水笔填写“住院天数”;红色笔填写“手术(分娩)后天数”,以手术(分娩)次日为第一天,依次填写14天,
    若14天内进行第2次手术,则将第一次手术天数作为分母,第二次手术天数作为分子填写,例如:3/7
    5 患者入院,转入,手术,分娩,出院,死亡等时间,用红色笔纵向在40-42℃之间相对应的时间格内填写
    体温曲线 6 体温符号:口腔温度以蓝点表示,腋下温度以蓝叉表示,直肠温度以蓝圈表示,耳温以蓝色空心三角形表示
    7 体温单每小格0.2℃,测量的度数用蓝色笔绘制于体温单35-42℃之间,相邻体温用蓝线相连
    8 物理降温或药物降温半小时后测得的体温,画在物理降温前温度的同一纵格内,以红圈表示,
    并用红虚线与降温前体温相连;下一次测得的体温与降温前体温相连
    9 当脉搏与体温重叠一点时,如系口腔体温,先画蓝点表示体温,再将红圈画于其外表表示脉搏;
    如系直肠体温,先画蓝圈表示体温,其内画红点表示脉搏;
    如系腋下体温,先画蓝叉表示体温,再将红圈画于其外表示脉搏
    10 患者体温突然上升或下降,应予复试,复试复合,在原体温上方用蓝笔以一小写英文字母V表示核实
    11 如体温低于35℃,于35℃线处用蓝笔画一蓝点,并在蓝点处向下画箭头(↓),长度不超过2小格,并与相邻温度相连。
    体温不升时可将“不升”二字写在35℃以下
    12 若患者因据测,外出进行诊疗活动等原因未能测量体温的。在体温单34-35℃之间用蓝笔纵写“拒测”“外出”等,
    前后两次体温断开不相连
    脉搏曲线 13 脉搏以红点表示,心率以红圈表示,每小格4次/分,相邻两次脉搏或心率均用红线相连;
    若需记录脉搏短缩图表,则于心率和脉搏之间以红笔斜线涂满;
    使用心脏起搏器的患者心率和脉搏应以“H”表示,相连两次心率用红线相连。
    如脉搏或者心率大于180次/分,在180次/分处画红点或红圈,并向上画“↑”,长度不超过一小格,
    如心率或体温重叠,在体温单上写"H"。
    呼吸曲线 14 呼吸以蓝点表示,相邻两次呼吸用蓝线相连。如呼吸与脉搏相遇,先画呼吸符号,再用红笔在外画红圈。
    如果使用呼吸机,则在呼吸20次上方画®
    特殊栏 15 特殊栏填写,包括血压,入量,出量,大便,体重等需要观察和记录的内容
    16 血压:收缩压/舒张压
    17 入量
    18 出量
    19 大便次数已阿拉伯数字表示,如“0”,灌肠后大便以“E”表示,
    如灌肠一次后的大便次数,应与次数下加短横线写“E”,如“0/E”表示灌肠1次后无大便,3/2E表示灌肠2次后3次大便;
    如因手术需要,对已经解过大便的患者仍需灌肠者,则以1 3/2E表示,
    即灌肠前已经大便1次,经2次灌肠后又解大便3次,“※”表示大便失禁,“☆”表示人工肛门
    20 体重
    21 身高
    22 皮试:红色笔写阳性,黑笔写阴性,不用+,-表示
    23 过敏药物
    24 其他:根据病情需要填写,如特别用药,腹泻,药物过敏试验等

      3、程序功能点

        结合体温单功能点,电子体温单因满足以下功能:

    序号 功能说明
    1 对表头以及文字部分的绘制
    2 对体温(口温、耳温、腋温、肛温)、脉搏、呼吸曲线图的绘制
    3 提供上一页、下一页、首页、末页以及跳转到某一页的功能
    4 打印(打印当前页、打印全部)

      4、控件介绍

         为了简化体温单开发,现将体温单控件封装,实现了设计框架更灵活多变,通过动态设置,可以实现多种样式的三测单格式,同时控制也更加简单。

      5、接口说明

        本体温单控件包括四个接口参数

          1.MainTitle:控制体温单主标题的显示文字(主要用于显示医院名称)

          2.SecondTitle:控制体温单次标题的显示文字(主要用于显示体温单名称)

          3.TimeStart:控制体温单时间的初始时间

          4.XmlData:XML数据,结构文档中包括病人信息,护理数据,体温数据,具体如下:

    <ROOT>
        <BRXX> <!--病人信息 -->
            <NAME>李四</NAME>      <!--病人姓名 -->
            <AGE>29</AGE>               <!--病人年龄 -->
            <SEX></SEX>            <!--病人性别-->
            <DEPARTMENT>外科</DEPARTMENT>        <!--病人科别 -->
            <INPATIENTAREA>外科一区</INPATIENTAREA>        <!--病人病区 -->
            <BEDNO>22</BEDNO>        <!--病人床号 -->
            <HOSPITALIZATIONNUMBER>20150909</HOSPITALIZATIONNUMBER>        <!--病人住院号(病案号) -->
            <RYRQ>2015-07-01</RYRQ>        <!--病人入院日期 -->
            <SSRQ>2015-07-07</SSRQ>        <!--病人手术日期-->
        </BRXX>
        <HLJLDATA> <!--病人护理相关数据-->
            <HLJL>
                <RQ>2015-07-08</RQ>         <!--护理日期 -->
                <XY>66/99</XY>        <!--床血压-->
                <RL>66</RL>        <!--入量-->
                <CL>98</CL>        <!--出量 -->
                <NL>67</NL>        <!--尿量 -->
                <DBCS></DBCS>    <!--大便次数 -->
                <TZ>66</TZ>        <!--体重-->
                <SG>178</SG>        <!--身高 -->
                <PSXX>青霉素</PSXX>    <!--皮试信息 -->
                <PSJG>阳性</PSJG>        <!--皮试结果(阴性/阳性)-->
            </HLJL>
        </HLJLDATA>
        <TWJLDATA> <!--病人体温相关数据 -->
            <TWJL>
                <RQ>2015-07-08</RQ>        <!--体温记录日期 -->
                <SJ>10:00</SJ>        <!--体温记录时间 -->
                <TW>36.8</TW>        <!--体温 -->
                <TWBW>肛表</TWBW>        <!--体温部分(取值范围:口表、耳表、腋表、肛表) -->
                <MB>68</MB>        <!--脉搏-->
                <HX>40</HX>        <!--呼吸 -->
                <HXJ>0</HXJ>        <!--是否使用呼吸机 (0:否 1:是) -->
                <XL>100</XL>        <!--心率-->
                <XZQBQ>1</XZQBQ>        <!--是否启用心脏起搏器(0:否 1:是) -->
                <WLJW>36.8</WLJW>        <!--物理降温-->
                <JCWC></JCWC>        <!--拒测外出(取值范围:拒测、外出) -->
                <EVENT>转入</EVENT>    <!--事件-->
                <EVENTTIME>23:19</EVENTTIME>        <!--事件时间(时间格式(时:分) -->
                <SFFH>1</SFFH>        <!--是否审核(0:否 1:是) -->
            </TWJL>        
        </TWJLDATA>
    </ROOT>

       6、程序说明

       6.1 数据录入

        由于数据录入的方式多种多样,无论采用什么方法,只要将体温单需要展示的信息存储即可,这里只给出录入界面,具体实现方式参考源码。

        6.2 信息展示

        有了体温单控件的支持,程序中只要将需要显示的数据按照接口样式传入即可,实现思路为在数据库中查询出需要显示的体温单信息(包括病人信息、体温记录、护理记录),在程序中转换为XML。

        为了便于处理,需要实现一个将DataTable转换为XML的函数,具体如下:

    private string dataTableToXML(DataTable dt,String rootNode)
            {
                StringBuilder xml=new StringBuilder();
    
                if (rootNode != "")
                {
                    xml.Append("<"+rootNode+">");
                }
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    xml.Append("<"+dt.TableName+">");
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        xml.Append("<" + dt.Columns[j].ColumnName + ">");
                        xml.Append(dt.Rows[i][j].ToString());
                        xml.Append("</" + dt.Columns[j].ColumnName + ">");
                    }
                    xml.Append("</" + dt.TableName + ">");
                }
                if (rootNode != "")
                {
                    xml.Append("</" + rootNode + ">");
                }           
                return xml.ToString();
            }

        这样在查询出数据之后,直接处理在DataTable转换为XML格式,再将XML的信息传入体温单控件即可,为了方便起见,将数据转换与信息展示写在了窗体的Load事件中:

    private void TC_TEST_Load(object sender, EventArgs e)
            {
                //实现DataTable到XML之间的转换
                DataSet dsData = new DataSet();
                string sql = "exec USP_TC_QUERY " + this.brid;
                dsData = SqlHelper.ExecuteDataSet(CommandType.Text, sql);
                DataTable dtBrxx = dsData.Tables[0].Copy();
                dtBrxx.TableName = "BRXX";
                DataTable dtHljl = dsData.Tables[1].Copy();
                dtHljl.TableName = "HLJL";
                DataTable dtTwjl = dsData.Tables[2].Copy();
                dtTwjl.TableName = "TWJL";
                string xmlBrxx = dataTableToXML(dtBrxx, "");
                string xmlHljl = dataTableToXML(dtHljl, "HLJLDATA");
                string xmlTwjl = dataTableToXML(dtTwjl, "TWJLDATA");
                StringBuilder sb = new StringBuilder();
                sb.Append("<ROOT>");
                sb.Append(xmlBrxx);
                sb.Append(xmlHljl);
                sb.Append(xmlTwjl);
                sb.Append("</ROOT>");
                string xmlData = sb.ToString();
    
                //显示体温单
                TemperatureUC tuc = new TemperatureUC();            
                tuc.MainTitle = "传入医院";
                tuc.SecondTitle = "传入体温单";
                tuc.TimeStart = 2;
                tuc.XmlData = xmlData;
                tuc.Dock = DockStyle.Fill;
                this.Controls.Add(tuc);
            }

      7、免费试用版本

        体温单控件下载

        程序源码+数据库下载

              需要源码的私信我(有偿提供)

            效果图

        

           

           

            

      

    如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    bzoj 4566: [Haoi2016]找相同字符
    杜教筛模板
    bzoj 3772 :精神污染 线段树+打标记 or 主席树
    bzoj 3779: 重组病毒
    bzoj 3357: [Usaco2004]等差数列
    bzoj 3551: [ONTAK2010]Peaks加强版
    bzoj 4358: permu 莫队
    线段树分裂合并
    bzoj 3065 带插入区间k小值
    子串 [NOIP2015]
  • 原文地址:https://www.cnblogs.com/IceNewMan/p/4649505.html
Copyright © 2020-2023  润新知