不同区域的体温单格式不尽相同,本文以江苏某地体温单为范例,介绍完整的体温单系统开发。
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、源码下载
8、相关说明
该“医疗系统--体温单(三测单)系统”中的方式为自己的经验积累,有不尽如人意的地方还望谅解,欢迎留言批评指正,感激不尽。
博客中涉及到的体温单控件以及程序源码可以任意使用而不用联系本作者。