醫療系統--體溫單(三測單)系統(體溫單控件),--體溫
不同區域的體溫單格式不盡相同,本文以江蘇某地體溫單為范例,介紹完整的體溫單系統開發。
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數據,結構文檔中包括病人信息,護理數據,體溫數據,具體如下:
![](https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017012018150710.gif)
![]()
<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>
View Code
6、程序說明
6.1 數據錄入
由於數據錄入的方式多種多樣,無論采用什麼方法,只要將體溫單需要展示的信息存儲即可,這裡只給出錄入界面,具體實現方式參考源碼。
6.2 信息展示
有了體溫單控件的支持,程序中只要將需要顯示的數據按照接口樣式傳入即可,實現思路為在數據庫中查詢出需要顯示的體溫單信息(包括病人信息、體溫記錄、護理記錄),在程序中轉換為XML。
為了便於處理,需要實現一個將DataTable轉換為XML的函數,具體如下:
![](https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017012018150710.gif)
![]()
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();
}
View Code
這樣在查詢出數據之後,直接處理在DataTable轉換為XML格式,再將XML的信息傳入體溫單控件即可,為了方便起見,將數據轉換與信息展示寫在了窗體的Load事件中:
![](https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017012018150710.gif)
![]()
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);
}
View Code
7、源碼下載
體溫單控件下載
程序源碼+數據庫下載
8、相關說明
該“醫療系統--體溫單(三測單)系統”中的方式為自己的經驗積累,有不盡如人意的地方還望諒解,歡迎留言批評指正,感激不盡。
博客中涉及到的體溫單控件以及程序源碼可以任意使用而不用聯系本作者。