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

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

  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、免费试用版本

    体温单控件下载

    程序源码+数据库下载          

        效果图

    

       

       

 

  

 

posted @ 2015-07-16 08:51  IceNewMan  阅读(19233)  评论(0编辑  收藏  举报