不同區域的體溫單格式不盡相同,本文以江蘇某地體溫單為范例,介紹完整的體溫單系統開發。
1、名詞解釋
體溫單:又叫三測單,是護理病歷的一部分。體溫單主要用於記錄患者的生命體征及有關情況,內容包括患者姓名、年齡、性別、科別、床號、入院日期、住院號(或病案號)、日期、住院天數、手術後天數、脈搏、呼吸、體溫、血壓、出入量、大便次數、體重、身高、頁碼等。
2、體溫單功能點
結合病歷書寫規范以及醫生在臨床中的習慣,電子體溫單的功能點主要包括以下部分:
3、程序功能點
結合體溫單功能點,電子體溫單因滿足以下功能:
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> View Code6、程序說明
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(); } View Code這樣在查詢出數據之後,直接處理在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); } View Code7、源碼下載
體溫單控件下載
程序源碼+數據庫下載
8、相關說明
該“醫療系統--體溫單(三測單)系統”中的方式為自己的經驗積累,有不盡如人意的地方還望諒解,歡迎留言批評指正,感激不盡。
博客中涉及到的體溫單控件以及程序源碼可以任意使用而不用聯系本作者。