《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > 基于C#開發電子病歷系統體溫曲線圖設計

基于C#開發電子病歷系統體溫曲線圖設計

2017-06-23
關鍵詞: 體溫圖 電子病歷 C#

  電子病歷(Electronic Medical Record,EMR)系統是一個數字技術、計算機技術、通訊技術、軟件工程、圖形圖像綜合技術等多學科的高新科技項目。其完整資料、數據處理、網絡傳輸、診療支援、統計分析等均是紙質病歷無法比擬的。

  體溫是電子病歷系統中一個重要的數據,比如某病人體溫升高可以讓臨床醫生知道該病人有發熱的癥狀。在電子病歷系統中,體溫單所針對的用戶是醫院的護士。護士每天記錄病人的體溫等各項信息,錄入到數據庫中,系統自動生成電子體溫單,并繪制成曲線圖。體溫曲線圖直觀地顯示了病人的體溫等相關數據,這些數據與有關疾病和治療的知識相結合,可作為進一步診斷及確定治療方案的基礎。

  筆者參與開發的電子病歷系統根據某大型醫院的實際需求,在.NET平臺下全程采用C#語言開發實現。本文著重介紹電子病歷系統中體溫曲線圖的設計和實現。

  1 電子病歷系統主要功能

  本系統根據醫院的實際需求,最主要的目的是采集病人的數據,使之能為臨床醫生提供所需要的診斷和決策信息,更進一步的目的是這些信息能夠用于臨床科研。系統主要功能如圖1所示。

50b8cbcd666e2.gif

  2 體溫曲線圖的設計與實現

  2.1 體溫表的生成

  在電子病歷系統中,每個來院就診的病患在醫院就診期間會產生一個病歷號,這是標志病人的確定碼,通常在數據庫系統中也作為惟一的對應碼和關鍵字。病人人院后,護士對病人進行體溫、脈搏、呼吸等各個方面的檢測,將這些數據錄入到電子病歷系統中,系統則自動生成體溫單。

  在病人的體溫單中,需要記錄并分析病人的體溫變換情況。體溫單信息的“體溫”、“脈搏”、“呼吸”這三項信息是要每隔4個小時記錄1次,分別在4時、8時、12時、16時、20時、24時這幾個時間段。而“大便次數”、“小便次數或量”、“攝人量”、“排出量”、“血壓”、“體重”等信息是1天記錄1次。根據體溫單信息,以1天為1個單位,畫出1天內病人在各個時間段的“體溫”、“脈搏”、“呼吸”的曲線變化情況,以及記錄的“大便次數”、“小便次數或量”、“攝入量”、“排出量”、“血壓”、“體重”等信息。整個體溫圖1次只顯示7天的情況。在體溫圖中用坐標以及曲線描述病人體溫的連續變化情況,直觀地滿足了護士對患者的體溫、呼吸、脈搏等信息的錄入和查詢的需要。圖2是體溫單顯示界面。

50b8cbcd6dfdb.gif

  2.2 體溫圖的繪制

  體溫圖是根據體溫單的數據自動生成的。由于體溫圖每次只顯示病人7天的體溫變化情況,所以設計了翻頁的功能,對住院時間久的病人通過翻頁每次跳過7天,保證病人的體溫信息完整的顯示。

  2.2.1 C#的GDI+繪圖

  體溫圖的繪制由.NET基類集組成的GDI+實現,這些基類可用于在屏幕上完成定制繪圖,能把合適的指令發送到圖形設備的驅動程序上,確保在顯示器屏幕上顯示正確的輸出。

  在GDI中,識別輸出設備的方式是使用對象設備環境(DC)。該對象存儲特定設備的信息,并能把GDI API函數調用轉換為要發送給該設備的指令。實現畫圖的功能要使用到GDI+畫圖技術。通過重寫Form類中的OnPaint(PaintEventArgs e)執行畫圖操作。

  在OnPaint()中,首先從PaintEventArgs中引用Graphics對象,繪制圖形。最后調用基類的OnPaint()方法。

  在應用程序第一次啟動,窗口第一次顯示出來時,也調用了OnPaint(),所以不需要在構造函數中復制繪圖代碼。

  由于整個體溫圖比較大,而顯示窗口定為800×600,為了能完整顯示體溫圖文檔,需要在文檔超出窗口時,通知窗口在右側出現滾動條。為此,把整個文檔區域定為(800,1 886)像素,并在窗體設計器的屬性中把AutoScroll屬性設置為True。這樣,在體溫圖超過窗口時自動出現滾動條。

  2.2.2 絕對坐標到相對坐標的變換

  在一般的繪圖代碼中,由于所繪制的圖形區域一般不超過窗口的大小,所以不需要特別的注意。Graphics實例在默認情況下把坐標解釋為是相對于窗口的,它并不知道滾動條的情況。當用戶滑動滾動條時,Windows沒有要求應用程序重新繪制已經顯示在屏幕中的內容。Windows只指出屏幕上目前顯示的內容可以平滑的移動,以匹配滾動條的位置。對于多出來的文檔部分,在應用程序第一次顯示時,沒有繪制這部分窗口,因為在滾動窗口前,這部分在窗口區域的外部。這表示Windows要求ScrollShapes應用程序繪制這個區域。它將引發Paint事件,把這個區域作為剪切的矩形,在窗口中和原來的圖形一起顯示出來,這樣會出現一個窗口中有多個圖形重疊,造成圖形的混亂。

  解決的方法是把Graphics實例默認的坐標表示為相對坐標,即坐標是相對于窗口的左上角,而不是文檔開頭的左上角,把絕對坐標轉換為相對坐標。這里用圖3說明這一轉換。

50b8cbcd73fa3.gif

  實線矩形標記了屏幕區域的邊框和整個文檔的邊框。虛線矩形標記了試圖要繪制的矩形和橢圓。P標記要繪制的某個隨意點。在調用繪圖方法時,提供Graphics實例和從A點到P點的矢量,整個矢量表示為一個Ponit實例。而實際上需要的是從點B到點P的矢量。問題是,這里只知道從A點到P點的矢量,這是P相對于文檔左上角的坐標,而要在文檔的P點繪圖。另外還知道從A點到B點的矢量,這是滾動的距離,它儲存在Form類的一個屬性AutoScrollPosition中。要知道從B點到P點的矢量只需要進行矢量相減即可。Graphics類的TranslateTransform方法可以進行這些矢量的計算。這里給它傳送水平和垂直坐標,表示窗口驅譴、與的左上角相對于文檔的左上角的矢量(AutoScrollPosition屬性,它是圖中從A到B的矢量),然后Graphics設備考慮窗口區域相對于文檔區域的位置,處理這些坐標。只要在繪圖代碼中加入以下語句:g.TranslateTransform(this.AutoScrollPositiort.X,this.AutoScrollPosition.Y);即可解決坐標轉換的問題。

  2.2.3 體溫圖的繪制技術

  體溫圖的繪制根據體溫單中病人的相關信息,利用才C#的GDI+可以繪制出相應的體溫曲線圖。在程序中首先進行絕對坐標和相對坐標的變換,然后用Pen類定義畫筆,用Brush類定義畫刷顏色,對于需要填充的地方用畫刷進行填充,再調用Graphics類的DrawLine方法畫出所需的線條。在DrawLine方法中,需要提供畫筆類型,線段起點和終點坐標等參數。

  體溫圖初始化之后,根據從體溫表傳遞的病人編號作為體溫圖中的全局變量,對數據庫進行查詢,并把查詢結果轉換為坐標,傳遞給畫圖方法DrawLine和FillEllipse,畫出圖形。圖4是一張體溫圖顯示界面。

50b8cbcd81467.jpg

  2.2.4 體溫圖中翻頁的實現

  由于體溫圖每次只顯示病人1周的體溫變換信息,要顯示1周之前的體溫信息,可以使用翻頁功能。實現翻頁功能主要利用在讀取數據時使用到的Read()方法的特性。通過Read()方法在讀取數據的同時把當前的指針向下移動1位。最初它位于數據集的第一行之前,因此第一次調用Read()將把指針置于第一行上,使它成為當前行。隨著每次調用Read()導致指針向下移動,按照從上至下的次序獲取數據集行。代碼如下:

  其中變量n為全局變量,由翻頁按鈕對其進行賦值。以當前的變量n減1乘7為所需跳過的間隔數,以日期為單位,對數據集中的日期進行篩選,選出這一周的日期儲存到數組array中。

  3 結 語

  電子病歷是醫院信息化發展的必然趨勢。根據HL7的標準化要求,當前國內電子病歷的研究還很不完善,要制定出比較完善的適應國內醫院使用的電子病歷原型系統還需要更深入的研究。本文探討利用C#繪制電子病歷系統體溫圖的技術,試圖對完善電子病歷系統做有益的嘗試。電子病歷系統相關的研究內容將會不斷發展和深入,而電子病歷的技術構架和軟件流程也將會越來越成熟。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品卡一卡二卡三| 欧美日韩亚洲国产精品| 亚洲国产老妈| 午夜精品免费在线| 亚洲美女黄网| 亚洲激情校园春色| 在线欧美影院| 伊人影院久久| 黄色成人在线观看| 国产一区二区三区黄视频| 国产精品欧美日韩一区| 欧美亚州一区二区三区| 欧美日韩国产影院| 欧美精品二区| 欧美精品国产精品| 欧美激情一区二区在线| 欧美国产三区| 欧美韩国日本一区| 欧美成人一区二区| 欧美成人精品不卡视频在线观看 | 欧美一区二区三区视频在线观看| 宅男在线国产精品| 亚洲一区二区黄色| 香蕉久久精品日日躁夜夜躁| 午夜精品久久久久久久久久久久久 | 一区二区三区精品视频| 中文在线资源观看网站视频免费不卡| 99视频有精品| 亚洲午夜一区二区| 亚洲欧美日韩国产一区二区三区| 亚洲欧美激情在线视频| 新片速递亚洲合集欧美合集| 久久精品国产欧美激情| 亚洲国产mv| 亚洲日本成人女熟在线观看| 日韩午夜av电影| 亚洲一级片在线看| 午夜精品一区二区三区在线| 久久国产精品毛片| 开心色5月久久精品| 欧美华人在线视频| 欧美性大战久久久久| 国产欧美在线看| 亚洲高清在线播放| 一本一道久久综合狠狠老精东影业 | 亚洲网站在线播放| 欧美一区二区大片| 亚洲激情在线观看| 亚洲一区二区在线观看视频| 久久精品91久久久久久再现| 欧美不卡一卡二卡免费版| 欧美日韩不卡视频| 国产精品卡一卡二卡三| 国内精品久久久久影院优| 亚洲国产美女精品久久久久∴| 夜色激情一区二区| 欧美诱惑福利视频| 一本不卡影院| 久久久久99| 欧美日韩精品福利| 国产欧美一区二区三区在线看蜜臀| 亚洲欧洲精品一区二区三区波多野1战4| 欧美日韩精品综合在线| 国产伦精品免费视频 | 一本色道久久综合一区| 性欧美暴力猛交69hd| 99国产精品99久久久久久粉嫩| 欧美一区免费视频| 欧美高清日韩| 国产伦精品一区二区三区视频孕妇| 在线免费观看成人网| 亚洲午夜一级| 亚洲精品中文字幕在线| 欧美影院成年免费版| 欧美精品日韩一区| 国产日韩精品久久久| 亚洲精品激情| 欧美一区二区三区在线播放| 一区二区国产精品| 久久综合给合久久狠狠色| 国产精品久久久久av| 亚洲国产欧美日韩精品| 久久成人精品一区二区三区| 亚洲影音先锋| 欧美激情2020午夜免费观看| 狠狠综合久久av一区二区小说 | 99re66热这里只有精品4| 久久精品国产亚洲5555| 午夜精品视频| 欧美日韩中文精品| 亚洲成色精品| 欧美在线观看视频在线| 亚洲免费小视频| 欧美日韩国产首页| 亚洲电影有码| 久久精品理论片| 久久aⅴ国产紧身牛仔裤| 欧美日韩网站| 亚洲国产精品久久| 亚洲第一免费播放区| 欧美在线看片| 国产精品二区影院| 亚洲乱码久久| 亚洲精选视频免费看| 久久一区免费| 国产午夜精品理论片a级探花| 在线视频你懂得一区二区三区| 99香蕉国产精品偷在线观看| 欧美99在线视频观看| 海角社区69精品视频| 性高湖久久久久久久久| 午夜精品国产| 国产精品国产亚洲精品看不卡15| 亚洲精品日韩精品| 久久尤物电影视频在线观看| 免费成人毛片| 一区二区三区在线看| 久久精品人人爽| 久久久久免费视频| 国产真实乱偷精品视频免| 欧美亚洲自偷自偷| 久久久久国色av免费观看性色| 国产精品一级| 亚洲欧美文学| 欧美中文在线免费| 国产亚洲一级高清| 久久爱www.| 久久影院午夜论| 一区免费观看| 91久久在线播放| 欧美激情一区二区三区四区| 亚洲三级影片| 亚洲丝袜av一区| 国产精品露脸自拍| 亚洲自拍偷拍视频| 久久精品国产一区二区三区免费看 | 国产欧美在线| 欧美中文字幕精品| 免费影视亚洲| 亚洲老司机av| 亚洲综合999| 国产农村妇女精品| 久久都是精品| 欧美成人激情视频免费观看| 亚洲精品久久久蜜桃| 亚洲午夜免费视频| 国产精品视频一二三| 久久av一区二区三区漫画| 久久综合久色欧美综合狠狠 | 国产欧美成人| 久久国产精品久久久久久电车| 蜜臀91精品一区二区三区| 亚洲成人资源网| 亚洲视频在线观看网站| 国产精品一区二区三区乱码| 久久精品国产亚洲aⅴ| 欧美黑人国产人伦爽爽爽| 一区二区三区欧美亚洲| 久久国产精品电影| 亚洲盗摄视频| 亚洲一区亚洲| 国产一区二区你懂的| 亚洲三级毛片| 国产精品v欧美精品v日本精品动漫| 亚洲自拍高清| 亚洲国产精品国自产拍av秋霞| 亚洲视频在线看| 久久精品一区二区三区四区| 亚洲国产福利在线| 亚洲综合激情| 极品尤物久久久av免费看| 日韩亚洲欧美一区| 国产女同一区二区| 亚洲精品日韩激情在线电影| 国产精品日日摸夜夜摸av| 亚洲高清免费在线| 欧美午夜精品一区二区三区| 欧美在线关看| 欧美日韩亚洲一区三区 | 一区二区三区视频免费在线观看| 国产精品青草综合久久久久99 | 伊人久久男人天堂| 亚洲一区综合| 国语对白精品一区二区| 一区二区高清在线| 国内精品久久久久久久影视麻豆 | 久久久亚洲国产美女国产盗摄| 一区二区三区福利| 国产精品视频999| 91久久线看在观草草青青| 国产精品s色| 亚洲黄色天堂| 国产精品日韩在线一区| 亚洲伦理在线| 国产在线欧美日韩| 亚洲一区二区三区四区视频| 尤物yw午夜国产精品视频明星| 亚洲欧美乱综合| 亚洲动漫精品| 久久av老司机精品网站导航|