1. 程式人生 > >一種電子病歷系統軟體框架思想

一種電子病歷系統軟體框架思想

關於這種架構思想的來源,筆者長期做UI層開發,那麼就從UI層開始說起。

現在所有的醫療軟體都是圖形化使用者介面,對於C/S程式,寫C#程式碼呼叫DrawString(),DrawLine(),DrawImage()之類的GUI API來繪製使用者介面;而對於B/S程式是伺服器端寫程式碼輸出HTML程式碼,然後發給瀏覽器讓其解釋這個HTML程式碼來“繪製”使用者介面。

因此可以抽象出來看,程式猿都是花大量的程式碼來繪製圖形化使用者介面,只不過一部分程式碼輸出圖形繪製指令,一部分程式碼輸出HTML程式碼。但最終目的都是一樣的。

另外程式猿還需要寫大量的程式碼來讓圖形化使用者介面和使用者互動,都需要響應KeyDown/MouseClick等事件,這點大家的寫的程式碼都很類似。最終目標也一樣。

按照這種思想,B/S和C/S的理解可以如下:

C/S程式

資料庫伺服器→應用軟體→介面呈現資訊(DrawString等指令)→GUI For Windows

B/S程式

資料庫伺服器→應用軟體→介面呈現資訊(HTML程式碼)→GUI For Browser

兩者邏輯上的高度相似性可以很容易聯想到物理學中引力和電磁力邏輯上的高度相似性。物理學中正在謀求統一場理論,那麼我們也可以謀求B/S和C/S的統一。

雖然B/S和C/S呈現使用者介面的程式碼雖然語言不同、程式碼執行的地方不同,但邏輯是相同的,因此邏輯上完全可以統一起來。以此類推,對於業務邏輯執行也是這樣的,這就是B/S和C/S統一的理論基礎,具體表現形式可以是OOP、AOP之類的。

按照B/S,C/S的統一設想,電子病歷系統軟體可以劃分為以下幾個部分:

  1. 資料庫伺服器。SQL SERVER/ORACLE/NOSQL之類的。
  2. 業務邏輯執行層。執行醫療業務邏輯的程式碼,這個層面純粹執行業務功能,沒有使用者介面。而且考慮到B/S應用應該是多執行緒安全的。
  3. B/S伺服器應用層。執行在WEB伺服器上的,直接呼叫業務邏輯執行層來實現業務功能。
  4. 遠端呼叫包裝層。對業務邏輯層執行層的功能進行包裝,能方便的進行遠端呼叫,這個遠端呼叫就是基於XML的WebService或者基於二進位制的JAVA/.NET Remoting。
  5. C/S客戶端軟體。客戶端軟體通過網路呼叫遠端呼叫包裝層來執行業務邏輯。

對於這種架構模型,如果業務邏輯執行層和B/S伺服器應用層編譯在一起就是傳統的B/S系統;業務邏輯執行層和C/S客戶端軟體編譯在一起就是傳統的C/S系統。如果5個部分都分開,那麼就是同時支援B/S和C/S的,這樣軟體具有強大的擴充套件性和生命力。

迴歸到筆者的老本行,電子病歷編輯器。編輯器控制元件提供WinForm版本和ASP.NET版本的。WinForm版本支援所有的功能;不過受限於當前技術水平,ASP.NET版本只能只讀的閱讀病歷文件內容,而無法編輯修改。因此建議在開發常規電子病歷系統時採用C/S模式,對於網際網路應用,比如公衛平臺之類的,也是建議新的B/S和C/S統一模式。對於移動應用可以採用傳統B/S模式。

最後想總結一下,孫子兵法又說了:兵勢如水。小平同志的白貓黑貓也是這個理。筆者覺得開發軟體也應該“兵勢如水”,不必拘泥於B/S,C/S之類的條條框框。怎麼適合需求就怎麼做,靈活變幻開發策略,以最優的路徑做出符合客戶需求的軟體。

相關推薦

電子病歷系統軟體框架思想

關於這種架構思想的來源,筆者長期做UI層開發,那麼就從UI層開始說起。 現在所有的醫療軟體都是圖形化使用者介面,對於C/S程式,寫C#程式碼呼叫DrawString(),DrawLine(),DrawImage()之類的GUI API來繪製使用者介面;而對於B/S程式是伺服器端寫程式碼輸出HTML程

神經元探索系統方法及裝置

最大 計算性能 限制 硬件加速 芯片 使用 信號 所有 權重 發明背景與現有技術應用背景 深度學習已經在圖像分類檢測、遊戲等諸多領域取得了突破性的成績。由於人工神經網絡計算量大,訓練時間長。因此,相關的硬件加速平臺也在百花齊放,包括基於英偉達的G

研究人員開發了量子糾錯系統,能夠通過AI進行學習

量子計算機可以解決超出傳統計算機功能的複雜任務。然而,量子態對來自其環境的恆定干擾極其敏感。計劃是使用基於量子誤差校正的主動保護來解決這個問題。馬克斯普朗克光學研究所所長Florian Marquardt及其團隊現在提出了一種能夠通過AI進行學習的量子糾錯系統。 2016年,計算機程式Al

installshield生成時提示6003錯誤的可能(必備軟體設定)

因為專案需要,2014年寫過的一個老專案需要重新打包。開發電腦換了,原來開發的系統是win7,現在已經升到了win10。而且原來使用installshield limited 2013開發的打包專案已經不能正常開啟,重新下載了installshield limited 2015,終於打開了原來的打包專案。可是

電子病歷系統安全性-加密解密

一、基本資訊 標題:電子病歷管理系統及其加密技術的設計與實現 時間:2018 出版源:中國知網 領域分類:電子病歷系統、加密、解密 二、研究背景 電子病歷管理系統的安全性如何保證?如何進行加密與解密? 三、研究內容 1.本系統採取常用“數字信封”技術的方式同時在加密技術上選擇安全性比較高的高階加密標(Adva

電子病歷系統安全性-數字簽名

一、基本資訊 標題:電子病歷管理系統及其加密技術的設計與實現 時間:2018 出版源:中國知網 領域分類:電子病歷管理系統、安全性、數字簽名 二、研究背景 為了保證電子病歷資訊傳輸的完整性、醫生的身份認證同時防止交易中的抵賴行為發生,系統應該採取何種方式? 三、研究內容 1.為了保證電子病歷資訊傳輸的完整性、

電子病歷系統業務流程測試

一、基本資訊 標題:電子病歷系統應用水平分級測評實踐 時間:2018 出版源:中國知網 領域分類:電子病歷系統、流程測試 二、研究背景 電子病歷系統服務於業務,那麼如何測試其是否符合其相應的業務流程呢? 三、研究內容 1.測試方法:採用點、線、面的設計思路對電子病歷系統的功能點進行全覆蓋,包括了功能單點遍歷測

用於微控制器程式設計的簡單的主函式框架

常見的微控制器最小系統(最小外圍電路)中,會帶有微控制器、晶振、LDO、按鍵、LED指示燈。假如是使用STM32,現在通常會配合STM32CubeMX,快速生成初始化程式碼和工程專案檔案。在生成了一套工程專案後,需要在檔案的特定位置加上使用者程式碼。 我對作業系統程式設計不

都昌資訊袁永福:利用電子病歷賦能框架,為健康醫療大資料打好基礎【電子病歷和健康醫療大資料系列】

隨著國家健康醫療大資料政策的推行,電子病歷作為其中的基礎資料庫之一,在醫院的資訊系統中的地位不斷攀升。針對電子病歷在健康醫療大資料的發展問題,動脈網專訪了國內最具代表性的幾家電子病歷企業的專家。 南京都昌資訊科技有限公司是一家新興的技術型軟體開發企業。公司雖然年輕,但成員卻是長期從事於電子病歷行業的專家。團

g2o:圖優化的C++框架

轉載自:http://blog.csdn.net/u012700322/article/details/52857244 原文發表於IEEE InternationalConference on Robotics and Automation (ICRA), Shan

【python+selenium搭建自動化框架框架設計中的設計思想--POM

例如 了解 思想 對象 業務 class a 如果 對象模型 模型 POM,中文:頁面對象模型,POM是近幾年非常流行的自動化測試模型,或者思想,POM不是框架,是解決問題的一種思想。 采用POM目的:為了解決前端中UI變化頻繁,從而造成測試自動化腳本維護的成本越來越大 P

比特幣:點對點的電子現金系統

三方 就是 金融 pap tps 重新 環境 coin 電子 摘要: 本文提出了一種完全通過點對點技術實現的電子現金系統,它使得在線支付能夠直接由一方發起並支付給另外一方,中間不需要通過任何的金融機構。雖然數字簽名部分解決了這個問題,但是如果仍然需要第三方的支

【區塊鏈】比特幣白皮書《比特幣點對點的電子現金系統》個人解讀

比特幣系統是一種完全通過點對點技術實現的電子現金系統,即它使得線上支付能直接從一方發起並直接支付給另外一方,中間不需要任何的金融機構。數字簽名(digital signatures)解決了所有權的問題,但是並不能解決雙重支付問題,於是中本聰提出了一種解決方案,通隨機雜湊(ha

轉:比特幣白皮書:點對點的電子現金系統

[摘要]:本文提出了一種完全通過點對點技術實現的電子現金系統,它使得線上支付能夠直接由一方發起並支付給另外一方,中間不需要通過任何的金融機構。雖然數字簽名(Digital signatures)部分解決了這個問題,但是如果仍然需要第三方的支援才能防止雙重支付

嵌入式系統軟體定時器的實現:以STM32為例

1.什麼是軟體定時器 軟體定時器是用程式模擬出來的定時器,可以由一個硬體定時器模擬出成千上萬個軟體定時器,這樣程式在需要使用較多定時器的時候就不會受限於硬體資源的不足,這是軟體定時器的一個優點,即數量不受限制。但由於軟體定時器是通過程式實現的,其執行和維護

關於 電子商務系統 初步總結MVC框架管理

頁面跳轉 sdn 管理系統 javabean 登錄 第一次 lac 完成 跳轉 本次博客主要內容: 通過學習java完整的電子商務系統,並對其中一部分功能做出總結。 通過本次學習了解到 開發基本框架,步驟,知識點。少走甚至改正許多彎路。 本次電子商務系統已完成內容:後臺登錄

推薦系統(recommender systems):預測電影評分--構造推薦系統方法:基於內容的推薦

不同 png [0 滿足 rom man 例子 ems 集中 如何對電影進行打分:根據用戶向量與電影向量的內積 我們假設每部電影有兩個features,x1與x2。x1表示這部電影屬於愛情片的程度,x2表示這部電影是動作片的程度,如Romance forever裏面x1為

推薦系統(recommender systems):預測電影評分--構造推薦系統方法:協同過濾(collaborative filtering )

ring 愛情 span sys 結合 sub .cn style 分享 協同過濾(collaborative filtering )能自行學習所要使用的特征 如我們有某一個數據集,我們並不知道特征的值是多少,我們有一些用戶對電影的評分,但是我們並不知道每部電影的特征(即

推薦系統(recommender systems):預測電影評分--構造推薦系統方法:低秩矩陣分解(low rank matrix factorization)

ngs img round col tin product ems 找到 推薦 如上圖中的predicted ratings矩陣可以分解成X與ΘT的乘積,這個叫做低秩矩陣分解。 我們先學習出product的特征參數向量,在實際應用中這些學習出來的參數向量可能比較難以理解

臉懵逼學習KafKa集群的安裝搭建--(高吞吐量的分布式發布訂閱消息系統

zkserver 搜索 block virtual 文件 內容 ava use 問題 1:KafKa的官方網址:http://kafka.apache.org/ 開發流程圖,如: 2:KafKa的基礎知識: 2.1:kafka是一個分布式的消息緩存系統2.2: