1. 程式人生 > >基於BS架構的臨床科研資料管理系統的設計與實現

基於BS架構的臨床科研資料管理系統的設計與實現

 

 

 

 

基於BS架構的臨床科研資料管理系統的設計與實現

 

 

 

 

 

 

20181110

 

 

目錄

第一章 緒論... 6

1.1 選題背景及其意義... 6

1.2 國內外研究現狀... 7

1.2.1 醫療大資料管理系統發展現狀... 7

1.2.2 科研資料管理系統發展現狀... 8

1.3研究目標... 9

1.4 研究內容... 10

1.5論文整體結構... 10

第二章 相關技術研究... 12

2.1 ASP 技術簡述... 12

2.1.1ASP技術原理... 12

2.1.2ASP語言的特點... 13

2.1.3 ASP資料訪問控制模型... 15

2.2 SQL Server 2008. 16

2.2.1 SQL Server 2008概述... 16

2.2.2 SQL Server 2008的主要特點... 16

2.3 Visual Stutio 2010. 17

2.4 UML. 18

2.4.1 UML概述... 18

2.4.2 UML的圖... 18

2.5本章小結... 19

第三 章需求分析... 20

3.1使用者角色分析... 20

3.2 分系統需求分析... 20

3.2.1研究資訊管理子系統... 21

3.2.2專案管理子系統... 22

3.2.3質量管理子系統... 23

3.2.4資料匯出子系統... 24

3.2.5 統計分析子系統... 25

3.2.6 系統配置管理子系統... 25

3.3系統的非功能性需求分析... 26

3.3.1經濟可行性分析... 26

3.3.2響應時長... 27

3.3.3安全性和保密性需求... 27

3.3.4易用性要求... 28

3.3.5其他非功能性的需求... 28

3.4本章小結... 28

第四章 系統設計... 29

4.1 設計的原則和目的... 29

4.2 系統架構設計... 30

4.3 功能結構設計... 33

4.3.1 登入管理子系統... 33

4.3.2 研究資訊管理子系統... 36

4.3.3專案管理子系統... 38

4.3.4 質量管理子系統... 38

4.3.5 資料匯出子系統... 38

4.3.6 統計分析子系統... 39

4.3.7 系統配置管理子系統... 39

4.4 系統流程設計和E-R圖設計... 41

4.4.1 資料錄入流程... 41

4.4.2 資料欄位匯出流程... 41

4.4.3 資料刪除流程... 42

4.3.4 系統E-R圖設計... 43

4.5 資料庫設計... 43

4.5.1系統使用者相關表... 43

4.5.2專案配置相關表... 45

4.5.3 選單操作許可權相關表... 48

4.5.4 表單部件配置相關表... 50

4.5.5表單規則相關表... 55

4.5.6 案例資料相關表... 56

4.5.7 質疑相關表... 59

4.5.8其他相關表... 61

4.6 本章小結... 63

第五章系統實現與測試... 64

5.1 測試環境... 64

5.2 系統登陸和註冊子系統... 64

5.3 研究資訊管理子系統... 65

5.4 專案管理子系統... 67

5.5 質量管理子系統... 69

5.6 資料匯出子系統... 70

5.7 統計與分析子系統... 71

5.8 系統管理子系統... 72

第六章 總結與展望... 77

6.1 總結... 77

6.2 展望... 77

主要參考文獻... 79

 

 

 

 

臨床資料由於存在資料結構複雜、資料量大等問題,使得臨床科研很難有足夠的資料作為支援,尤其是很多臨床科研資料存在於單個醫院,甚至是單個部門,這種資料孤島現象使得臨床科研工作的開展備受阻力,資料瓶頸問題已經成為阻礙臨床科研進步的重點難題,亟待解決。

我國科研資料管理系統雖然較以往有了很大的發展,但當前資料管理系統大多數是為單一部門的使用而設計、實現的,缺少全域性性的考慮,難以應用於複雜部門關係的領域,如果應用於醫療系統,則將會有很多工作需要人工去彌補完成,造成人力資源極大的浪費。且當前資料管理系統缺少監督機制,資料錄入進度難以掌控,同時也缺少問題反饋機制,還需要人與人之間私下溝通解決,效率低下,也缺少成熟的平臺去解決問題。所以目前的絕大多數資料管理系統難以應用於實際業務,其應用普及度、可擴充套件性、安全性等因素都需要進一步提高,且關於臨床醫療資料管理的系統更是少見。基於這些考慮,本文開發一套可以應用於實際工作的臨床科研資料管理系統用於管理臨床領域醫療資料,以提高臨床科研效率。

在應用現代軟體工程理念和技術的基礎上,通過對現代醫療領域的臨床科研工作的實際需求進行深入分析,完成了臨床科研資料管理系統的設計,構建了系統整體架構、各子系統功能模組和資料庫表結構的詳細設計,基於ASP技術實現了該系統的各項功能。最後基於Windows平臺、IIS伺服器、SQL Server 2008資料庫系統等環境對系統進行執行測試,測試結果表明該系統實現了高效資料採集、資料儲存、資料管理和資料分享醫療領域的科研資料且系統能夠穩定執行。

關鍵詞:科研資料管理系統;醫療系統;資料分享

 

 

 

Abstract

Because of the complex data structure and large amount of data, it is difficult for clinical research to have enough data to support it. Especially, many clinical research data exist in a single hospital or even a single department. This phenomenon of data islands makes the development of clinical research work very difficult. Data bottleneck has become a key problem that hinders the progress of clinical research. It needs to be solved urgently.

Although our country's scientific research data management system has made great progress compared with the past, most of the current data management systems are designed and implemented for the use of a single department, so lack of overall consideration, it is difficult to apply in the field of complex Department relations. If applied to medical systems, there will be a lot of work to be done manually, resulting in waste of human resources. At present, the data management system lacks supervision mechanism, data entry progress is difficult to control, and there is also a lack of problem feedback mechanism. It also needs private communication between people to solve problems. It is inefficient and lacks a mature platform to solve problems. Therefore, most of the current data management systems are difficult to be applied to actual business, and their application popularity, scalability, security and other factors need to be further improved, and the clinical medical data management system is rare. Based on these considerations, this paper develops a data management system for clinical scientific research that can be applied to practical work to manage medical data in clinical field, so as to improve the efficiency of clinical scientific research.

Based on the application of modern software engineering concepts and technologies, through in-depth analysis of the actual needs of clinical scientific research in modern medical field, the design of data management system for clinical scientific research has been completed. The overall structure of the system, the functional modules of each subsystem and the detailed design of database table structure have been constructed. The functions of the system have been realized based on ASP technology. Finally, the system is tested based on Windows platform, IIS server, SQL Server 2008 database system and other environments. The test results show that the system achieves efficient data acquisition, data storage, data management and data sharing in the field of medical research data, and the system can run stably.

Key words: scientific research data management system; medical system; data sharing

第一章 緒論

1.1 選題背景及其意義

機器學習技術和大資料時代的來臨使得大規模的資料的產生、管理、應用的時機和資料的用途越來越得到廣泛關注。尤其是普遍為人所用的通訊業務、社交網路、電商網路等也加速了資料的傳播與產生[1]。大資料,這一新興的領域也日漸成為社會中一項不可或缺的基礎資源,其意義不僅體現在資料量的“大”上,更體現在資料內部所蘊含的資訊資源。但隨之而來的問題是資料的管理成為了一項令人棘手的問題,資料量級的增大帶來了管理的難度、共享的需求度、傳輸的通道壓力等等問題,臨床科研領域同樣面臨著類似的問題,亟待解決[2]

近年來,醫療資訊化成為現代醫院的一大趨勢,這不僅體現在數字化的醫療資訊管理,也體現在現代化的高效的資料管理能力[3]。但目前絕大多數醫院的醫療資料僅僅侷限於醫院內部使用,甚至僅僅侷限於科室內部使用,資料孤島現象極為嚴重。這種醫療資料的資訊孤島現象體現出我國醫院與醫院之間、醫院與管理部門之間的各自為戰現象,也體現出我國醫療衛生現代化建設的癥結所在[4]。2010年,原衛生部推出了“十二五”醫療衛生資訊化建設規劃,簡稱為3521工程,3表示建設國家、省、城市的3級衛生資訊化平臺,以此提高我國衛生服務的質量、醫療服務水平、新農村合作的醫療水平、基本藥物制度和綜合管理等五項內容,建立電子病歷和健康檔案資料庫和網路;按照這個需求制定的實施方案將會產生及其巨大的資料量,其中一張普通的CT的大小可以達到150M,一張普通的基因序列記錄的資料大小大約為750M,一張病人的病理圖甚至可以達到5G的資料量,如果再考慮到人口基數和不同時間點進行的不同診斷,則資料量的積累將難以極速爆炸[6]。在資料採集階段,醫療臨床資料包含大量非結構化的病理資料和病人健康情況資料,如果不能採取合理的方法採集資料則會造成資料採集過程中存在錯誤資料的情況[7];在資料分析階段,如果海量資料僅僅存在於單一的醫院、甚至是單個部門中,則會造成花費巨大力氣採集的資料難以被最大化的使用。所以臨床醫療資料採集、管理平臺的建設刻不容緩,以使得臨床醫療可以被標準化的採集、規範的管理和更廣泛的共享[8]

臨床醫療將不是某一家醫院或醫院某一部門的專有資源,高效的實現海量、異構資料的採集、管理、儲存和分享等方面將對臨床科研的進步有很大幫助,也能促進臨床資料更廣泛的共享。海量的臨床醫療資料也是臨床科研開展的基礎,如果沒有資料支援,將無法開展科研工作,所以如何實現臨床科研資料的有效管理成為了本文的研究重點。

1.2 國內外研究現狀

1.2.1 醫療大資料管理系統發展現狀

目前國內還沒有關於臨床科研資料管理的文獻,臨床科研資料管理系統的構建也更是處於國內空白,只有少數相關的內容能夠借鑑。其中蔡佳慧等人[9]發現了我國衛生資訊化建設的速度越來越快,醫療領域所接收的資料量越來越大、資料型別複雜,醫療領域已然進入了大資料時代。在分析現代醫療領域特點的基礎上總結了現代醫療領域所面臨的資訊化建設的挑戰和需求,並結合具體情況提出了可行的措施。周光華等人[10]在分析了現代醫療衛生領域特點的基礎上判斷了醫療衛生領域大資料時代的來臨,在概述大資料時代各行業的情況的基礎上綜述了我國醫療衛生資料資源的分佈情況和在醫療領域的應用情況,提出了當前大資料醫療所面臨的重點和難點,併為行政部門提出了參考意見。林青等人[11]提出了智慧社群醫療系統的總體結構、系統組成以及軟體功能。智慧社群醫療系統能夠採集、查詢、管理、統計社群醫療衛生資料並將資料進行雲管理,實現社群醫療資料的雲管理和網際網路服務。殷煥炯[12]在分析了現代醫療資訊化特點的基礎上探索了大資料在現代醫療領域方面的應用現狀。針對大資料的基本概念和醫藥研發、疾病診斷、衛生管理的特點進行分析和研究,為新時代大資料的應用方式、理論提供依據。盛芳菲等人[13]提出了一種基於Hadoop的智慧醫療資料儲存和查詢方法,能夠實現結構化資料和非結構化資料的儲存,提高了資料儲存、管理的可靠性和擴充套件性,並優化了醫療圖片資料的效率和儲存方式,採用分散式的方式實現管理系統提高了資料訪問的效率和資料分享的效果。Gary Cohen等人[14]將醫療資料管理系統部署到網際網路中實現對病人醫療資料的管理,通過網際網路遠端獲取資料的優勢實現了對慢性病的長期監測,獲取病人的病理資料,並實現對資料的分析為患者提供治療意見。M Fuminori等人[15]提出了一種病人、醫務人員和通訊網路上的研究人員可以共享醫療資料的醫療資料管理系統,該系統能夠儲存病人治療期間的醫療資料,並向患者公開醫學資訊、執行有效的遠端診斷以及向醫學研究提供醫學資料等服務。Liu,Zhao等人[16]針對人工處理資料、人工開發介面生成工具等傳統辦法所面臨的困境提出了一種基於XML文件的介面生成和資料訪問的快速開發模型,並將其應用於醫學臨床資料管理系統的開發中。該模型包括兩個部分:介面生成引擎和資料自動訪問機制,使用抽象工廠模式來構造、應用面嚮物件語言的多型技術和反射技術進行實現,從而可以在各種資料庫和應用平臺之間快速切換,不僅節省60%的設計時間,也提高了系統的開發效率和可維護性。Karin Probst[17]提出了人力資源資訊系統(HUMARIS),該系統是由國家癌症研究所研發的自動化醫療資料採集和管理系統。該系統的設計容量為每年處理、儲存和檢索多達1500例外科和屍檢病例的臨床和調查資訊,提供診斷清單、病例摘要、庫存、統計報告等內容。該系統的功能相對簡單,但能夠有效的採集和管理醫學資料。

1.2.2 科研資料管理系統發展現狀

我國經濟的告訴發展使得國家、社會對臨床科研的成果需求也更高,與此同時的投入的越來越多,醫院的科研水平也作為核心競爭力顯得日益突出。當前情況下的科研資料管理系統仍不普及,很多科研工作者仍然使用人工的方式進行資料採集、處理、分享和管理等[18-20],有些使用諸如excel等半自動化的方式進行資料的管理和處理,這種資料管理方式的問題主要有:(1)資料屬性複雜時,管理難度很大;(2)資料手工錄入,容易出現認為錯誤;(3)難以維護,容易發生奔潰導致資料丟失;(4)效率地下,沒有利用現代化的資訊化手段。所以,臨床科研資料管理系統的需求度越來越高,合理的利用現代化的智慧手段進行資料的採集、管理、分享、維護等操作,不僅可以大幅提高資料管理效率,而且能降低人力成本的同時減少認為錯誤的發生,使臨床科研資料的管理更加智慧化、高效化和資訊化。

目前,一些高校率先建立了科研資訊管理系統用於科研資訊的管理,網路上也有一些做好的資料管理系統,但對於臨床科研領域的資料管理顯得有些不足,主要是因為:(1)高校的科研資訊管理系統大多數處於實驗狀態,實用性偏差,難以用於實際的工程應用;(2)網際網路公開的資料管理系統功能通常較為簡單,且可擴充套件性、安全性等要素缺少系統設計,考慮因素不足,在實際使用中難以穩定執行;(3)這些管理系統大多數是為單一部門的使用而設計、實現的,所以缺少全域性性的考慮,難以應用於複雜部門關係的領域,如果應用於醫療系統,則將會有很多工作需要人工去彌補完成,造成人力資源的浪費;(4)缺少監督機制,資料錄入進度難以掌控,同時也缺少問題反饋機制,還需要人與人之間私下溝通解決,效率低下,也缺少成熟的平臺去解決問題;(5)系統中缺少對資料格式的統一定義,在資料傳輸時需要資料格式轉換或資料屬性的拋棄以適合其他系統,導致資料完整性受到破壞,也難以普及系統。

通過上述總結可以看出,在當前情況下建構高效的臨床科研資料管理系統是十分必要且十分緊急的任務,高效、準確的資料管理和完備的系統管理對於提高當前臨床科研水平將有巨大幫助。當前情況下,科研資料管理系統日益朝著大眾化、可用化、智慧化的方向發展,主要的原因是計算機硬體裝置效能的提高和硬體價格的降低,使得個人、單個團體部署個人的網路應用系統成為可能,這些客觀條件使得管理系統如雨後春筍一般大量出現,逐漸取代人工。由於近年來網路成本的降低、效能的提高,使得管理系統的開發也從傳統的C/S結構過度到了B/S架構,甚至是基於B/S的分散式架構、雲架構等結構,大幅提高了管理系統的效能和安全性。

現代的基於網際網路的B/S架構的資料管理系統的訪問結構通常是瀏覽器/伺服器的結構,主要是在瀏覽器端輸入、發出請求,在伺服器端實現系統的功能並返回處理結果到瀏覽器端,瀏覽器解析出伺服器返回的結果並輸出到螢幕上供使用者使用[21]。這種訪問方式需要在系統的伺服器端運營網路應用成功、資料庫系統等應用,而客戶端只需要普通的瀏覽器即可完成服務,與傳統的管理系統相比對客戶端效能的要求更低,其訪問者不受地域、時間、平臺的限制,能夠實現任意地點、任意時間的對伺服器的訪問以獲取所需的資源。且伺服器端的維護成本、維護難度也較C/S結構更容易,也最大限度的共享了網路資源。目前,國內大多數資料管理系統都是基於區域網而建設的,基於網際網路的資料管理系統仍然處於起步階段,亟待解決[22]

通過上述論述可以發現,我國科研資料管理系統雖然較以往有了很大的發展,但絕大多數產品難以應用於實際業務,其應用普及度、可擴充套件性、安全性等因素都需要進一步提高。基於這些考慮,本文開發一套可以應用於實際工作的臨床科研資料管理系統用於管理臨床領域醫療資料,以提高臨床科研效率。

1.3研究目標

我國經濟總量已經躍居世界第二且發展勢頭不可阻擋,全面小康化也馬上達到,在此階段下,普通人對醫療的關心和需要也越來越高,如何提高現有醫療水平稱為一項重點研究內容,而實現這一目標的有效手段就提高臨床醫療科研水平,而海量、可用的臨床資料的保證是科研高效開展的前提,所以臨床醫療資料的採集、管理和分析成為了各醫療機構普遍關心的議題。

正是基於這樣的考慮和需求,很多醫療機構都認識到了醫療資料對於醫院未來發展的用處,也意識到了臨床資料在醫院管理、醫療水平提高、臨床科研水平提高等方面所蘊含的高價值。很多醫院都成立了資料管理平臺並建構了資料管理系統,但普遍僅僅做了最基本的工作,僅僅收集了最基礎的資料,沒有系統的收集醫療領域的資料。

本文考慮到這些需求,將構建一套能高效管理海量的、多樣化、異構的醫療資料管理系統為研究目標,以實現臨床醫療資料的高效管理、提取和分享。通過對儲存的海量醫療資料的分析,能夠分析出病人身體狀況與病症之間的關係、病症之間的關係、為病人自動推薦治療方案或緩解策略、系統性的評估個人的身體狀況等結果,通過臨床科研能夠實現這些分析結果或服務,以此提高患者的健康狀況,為全民的健康狀況所服務。因此,本論文研究的海量異構臨床科研資料管理系統在提高全民身體將康水平、提高醫療科研水平等方面具有積極地、重要作用。

1.4 研究內容

通過分析醫療領域的潛在需求、挖掘領域現存的問題,並利用現代化的軟體工程技術和資料管理技術,針對臨床科研資料管理存在的特點和難點進行著手,構架了用於管理海量、異構的臨床科研資料的管理系統。主要的工作內容為如下所述。

1、通過對國內外相關研究專案的論述和分析,闡明瞭本文的研究背景和研究意義;

2、研究並學習了ASP技術、SQL Server 2008技術、UML技術等內容,並將這些技術用於構建臨床科研資料管理系統;

3、針對醫療領域和科研領域的特點對系統各角色使用者的需求進行深入挖掘,分析出了各角色使用者最需要的功能;

4、利用現代化的軟體工程技術設計並實現了臨床科研資料管理系統,並搭建環境進行測試。

1.5論文整體結構

第一章是總體介紹本文研究的背景和意義,闡述了為什麼開展此項工作,並結合國內外的研究現狀說明了本文的研究目標和研究內容。

第二章介紹了本系統設計與實現過程中需要的技術,首先說明了ASP技術的原理、特點、資料訪問控制模型和系統應用的資料庫系統,之後介紹所用整合開發環境Visual Studio 2010和軟體工程建模工具UML,最後介紹了構建資料倉庫的理念。

第三章為系統的需求分析內容。首先介紹了系統的三種類型的角色和每種角色的實際需求,之後對系統的整體結構和各子系統的結構進行了詳細說明,最後對系統的非功能性需求進行了闡述。

第四章為系統設計部分。首先闡述了系統的設計原則、目的和系統整體架構,之後從結構圖、流程圖和時序圖等方面對系統給的各子系統的設計進行了詳細說明,後續對系統流程設計和E-R圖設計進行描述,最後對系統的資料庫各子系統的表的結構、欄位等內容進行說明。

第五章為系統實現與測試章節。首先說明了系統的測試環境,之後對各子系統的功能模組的實現結果和測試結果進行說明。

第六章為總結與展望章節,總結了本文的工作內容並指出了本文工作的不足之處,也指明瞭下一階段所需努力的方向。

 

 

第二章 相關技術研究

2.1 ASP 技術簡述

ASP全稱為Active Server Pages,中文含義是動態伺服器頁面,由微軟公司開發的一款動態網頁實現語言,能夠快速的構建安全、穩定的WEB網站。網頁前端主要由HTML語言、JS動態指令碼語言和ASP動態語言構建,客戶通過前端的操作向伺服器傳送請求,當WEB伺服器在接收到客戶傳送的ASP請求訊息後,會在後端對接收到的客戶請求訊息進行處理[23]。ASP還有一個巨大的優勢是可以實現與關係型資料庫等資料庫、其他應用程式進行動態互動,這些特性使得ASP稱為了一種相對較易上手的且安全性等效能得到保證的網頁程式語言[24]

2.1.1ASP技術原理

ASP頁面具有動態性這一特點,主要體現在ASP頁面不是靜止存在於伺服器端的,具體的ASP頁面內容是根據前端請求的內容而定,這與傳統的HTML頁面極為不同[25]。ASP語言在後端的伺服器中執行,當客戶通過前端傳送請求資訊後,伺服器才會執行ASP指令碼程式,ASP程式只有在獲取客戶的具體請求資訊後才能最終確定向客戶返回的WEB內容[26]

ASP語言是獨立於瀏覽器的一門開放的WEB語言,其不需要像c語言一樣編譯才能執行。ASP實現了在後端伺服器編寫指令碼的環境,並實現了構建動態的、與客戶互動式的WEB網站[27]。ASP能夠與HTML網頁、其他指令碼指令、ActiveX元件結合,以實現構建基於web的互動式應用程式[28],其原理圖如圖2.1所示。

 

圖2.1 ASP原理圖

如圖2.1所示的ASP原理圖可以看出前端與後端的資訊流程,其原理如下所述。

  1. 使用者在諸如IE、Chrome、Netscape等瀏覽器的網址輸入欄中輸入網址並向伺服器傳送ASP資訊請求;
  2. 使用者的瀏覽器通過網路將ASP請求傳送到伺服器端,本文選用的IIS伺服器;
  3. IIS伺服器收到使用者傳送的ASP請求後從伺服器的硬碟中索引到對應的ASP檔案;
  4. IIS伺服器將索引到的檔案傳遞到動態連結檔案ASP.DLL;
  5. ASP檔案的內容被全部執行一遍後產生靜態網頁內容;
  6. IIS伺服器通過網路將靜態網頁內容反饋給使用者的伺服器;
  7. 使用者的瀏覽器會將IIS伺服器傳送的靜態HTML網頁解釋、執行,並將結果顯示在使用者的瀏覽器中;
  8. ASP的指令碼內容在IIS伺服器中執行,而非是使用者端執行,也就是說傳送到使用者端的靜態頁面需要在伺服器端生成後傳遞給使用者,無法通過使用者端自身生成,這樣的一大優勢是使用者的瀏覽器不需要處理指令碼內容。所以使用者無法獲取指令碼的原始內容。也就無法複製ASP的指令碼內容,使用者也無法通過返回的靜態HTML檔案檢視到網頁的指令碼命令,這樣可以保證ASP源程式不會被使用者獲悉到,保證了程式的原始碼難以被其他人獲取,保證了程式的安全性和版權。

2.1.2ASP語言的特點

目前互動式網站的語言很多,如很早的CGI(Common Gateway Interface)語言、ISAPI(Internet Server Application Programming Interface)語言等內容。但這些技術較ASP技術都相對複雜很多,互動式網站開發的過程極為繁瑣,開發的週期也往往很久,且日後的維護成本極高,如果有了BUG也極難除錯,所以這些早期互動式網站的語言推廣的普及度並不高[28]。ASP技術考慮、借鑑了這些傳統語言的優點並摒棄了這些傳統互動式網頁語言的不足,即使不編寫複雜的語言、指令碼內容也能實現網站的動態互動。通常只需要編寫VBScript或Jscript指令碼和HTML靜態內容,再加上ASP語言的內建動態伺服器元件(ActiveX Server Component)即可快速、高效的開發出安全、功能齊備的動態互動式網路應用程式[29]。所以ASP技術具備四個十分突出的優勢:(1)學習週期短;(2)網站設計更快;(3)修改開銷更低;(4)後期維護代價更小且更容易。ASP本身並不是指令碼程式,其之於諸如VBScript、Jscript等指令碼程式的作用是為這些指令碼語言在HTML頁面中並執行在伺服器中提供環境支援。ASP程式在檔案系統中的字尾結尾為.asp,為文字檔案,負責對指令碼程式和HTML標記語言的整體流程進行控制,也能夠通過ASP內建的動態元件擴充網站功能。ASP內建元件可以和指令碼內容交叉嵌入,ASP指令碼內容可以嵌入到VBScript、Jscript等指令碼和HTML內容中,VBScript、Jscript等指令碼也可以嵌入到ASP指令碼內容中,彼此之間沒有限制,這個特點進一步提高了程式開發的效率和動態特性。

從軟體技術層面和應用層面看待ASP分別具備不同的特點,具體如下所述。

1、從ASP語言的技術方面看,其具有如下特點。

(1)ASP程式執行前不需要像c++等語言一樣進行編譯,ASP指令碼內容能夠整合到HTML檔案中去,只需要較小的代價即可生成,可以直接通過解釋執行;

(2)編輯工具沒有特殊的要求,使用windows自帶的記事本工具即可以進行編輯,檔名格式為* .asp;

(3)對瀏覽器沒有特殊要求,因為ASP指令碼內容是在伺服器端解釋、執行併產生靜態的HTML檔案返回到客戶端的瀏覽器中,所以客戶端的瀏覽器不需要具備ASP指令碼內容的解釋能力,只需要具備HTML檔案的解釋能力,這也說明如果不通過伺服器解釋,則客戶端不能看到ASP檔案對應的內容;

(4)ASP指令碼也具備良好的擴充套件能力,不僅能夠使用ASP內部的各種元件,還可以呼叫系統元件和ActiveX ServerComponent(ActiveX伺服器元件)等工具;

(5)ASP不僅與VBScript和JScript等指令碼語言相相容,還可以通過Plug-in的外掛呼叫的方法擴充套件對第三方語言的支援能力;

(6)ASP指令碼內容通常只能在伺服器端進行解釋併產生靜態的HTML檔案傳遞到客戶端的瀏覽器中,所以ASP的原始碼難以被其他人員獲取,這樣保證了公司或程式設計師對程式的保護和保護隱私的能力。

2、從ASP語言的應用方面看,其具有如下特點。

(1)ASP負責處理客戶端瀏覽器傳送到伺服器端的內容;

(2)ASP技術能夠實現對伺服器端資料庫內容的訪問、修改、刪除和增加等操作;

(3)通過訪問伺服器日誌等內容,實現伺服器訪問數量計量等功能;

(4)可以獲取客戶端瀏覽器的一些資訊等內容;

(5)實現cookies功能,通過cookies實現記錄使用者的相關資料;

(6)能夠實現多頁面間資訊的共享功能,適合開發複雜的網路應用程式;

(7)能夠與VBScript、Jscript等指令碼和HTML標籤語言相相容,提高網站的開發效率和動態特性;

(8)可以使用諸如c++、java等高階語言作為擴充套件內容,通過c++、java等語言製作動態伺服器元件擴充功能。

2.1.3 ASP資料訪問控制模型

微軟公司為了提高應用程式對資料庫的訪問效能開發了UDA(Universal DataAccess,統一資料訪問)資料訪問控制模型。UDA包括三個部分:(1)OLE DB(Object Link and embed DataBase,物件連結和嵌入資料庫);(2)ODBC(Open Database Connectivity,開放資料庫連線);(3)ADO(ActiveX Data Objects,ActiveX資料物件)[30]

其中OLE DB主要用於處理異構平臺中的各種非結構化資訊和結構化資訊,諸如圖片、文字、電子郵件等內容。ADO是處於頂級結構,作為網路應用程式的的資料庫訪問介面,網路應用程式通過ADO訪問系統中ODBC和OLE DB。這樣的分離結構使得網路應用程式的開發人員不需要對ODBC和OLE DB瞭解太多,提高了網路應用程式的開發難度和效率[31]。在連線資料庫時需要配置ODBC,在ODBC中配置響應的資料來源名稱、制定驅動程式等操作。

如圖2.2所示,為UDA資料訪問控制模型結構圖,從圖中可以看出ADO支援多種資料庫,諸如SQL Server、Oracle等主流資料庫[32],本文選用SQL Server 2008作為伺服器端資料庫。

 

圖2.2 UDA模型示意

2.2 SQL Server 2008

2.2.1 SQL Server 2008概述

SQL Server主要由微軟公司推出的系列資料庫軟體系統,並於2008年10月將SQL Server 2008系列產品推向市場。SQL的全稱為Structured Query Language,中文含義為結構化查詢語言。SQL Server 2008能夠實現了直接儲存非結構化、半結構化和結構化的文件資料,同時能夠高效實現資料的查詢、刪除、新增、資料同步、資料分析等操作。同時,SQL Server 2008支援多種裝置中執行[33]

通過資料庫引擎和結構化的資料儲存能力,SQL Server 2008能夠為軟體開發人員、資訊工作者、資料管理員等不同角色的人群提供不同層次的解決方案。SQL Server 2008平臺具有很高的可靠性、可擴充套件性和安全性,同時能夠降低資料管理的成本和時間。SQL Server 2008的加密措施較以往版本有了很大改進,在不需要更動現有程式的基礎上可以實現整個資料庫的資料、資料庫檔案、資料庫日誌內容的加密,這樣可以讓公司既做到了保護資料隱私也做到了減小開銷。與此同時,SQL Server 2008還具有審查資料操作的功能,從而進一步提高了安全性。資料操作審查不僅僅包含資料的修改操作,還包括何時對資料進行讀取等操作的審查。同時,SQL Server 2008還可以定義資料庫中檔案審查的範圍,為平臺中每一個數據庫指定單獨的資料檔案操作審查範圍,更加靈活[34]

2.2.2 SQL Server 2008的主要特點

SQL Server 2008能夠高效的執行資料管理工作,降低軟體系統開發的時長和成本等開銷,其具有如下三個突出的特點。

1、能夠保證資料的安全性。SQL Server 2008平臺較上一個版本在安全性方面主要有三個方面的提高:(1)資料的加密更安全、更容易。SQL Server 2008平臺中不需要像SQL Server 2005平臺,不需要對應用程式作出修改即可做到對對整個資料庫或者部分資料庫檔案進行加密處理,極大的方便了軟體系統的開發人員,也使得使用者在未授權的情況下無法訪問資料庫,增加了資料庫的安全性[35]。(2)系統金鑰管理更安全。SQL Server 2008平臺提供了金鑰管理和系統檔案加密的解決方案,且這些金鑰由系統供應商進行管理,提高了安全性。(3)SQL Server 2008對資料操作的審查更為嚴格,審查內容涉及資料的修改、資料讀取時間等內容,進一步提高了資料庫的安全性。

2、SQL Server 2008平臺業務具有良好的可持續性。SQL Server 2008平臺為使用者提供了相對簡單的操作介面和可靠性很高的資料管理功能。(1)SQL Server 2008較上一個版本對資料庫映象檔案的可靠性做了進一步提高。(2)SQL Server 2008平臺較以往版本新增加了執行計數功能,能夠對資料庫中不同階段的訪問耗時進行記錄。同時,SQL Server 2008平臺還擴充套件了檢視管理和擴充為動態檢視管理等內容,增強了資訊的顯示能力。

3、效能較以往大幅提高。現在軟體系統的架構通常較為複雜,各種開銷也也來越高,對資料庫的響應時間的要求也越來越高,承載的使用者數量也越來越多。SQL Server 2008實現了將以上功能進行有機整合,使SQL Server 2008平臺能夠有效承載和實現工作負載[36]。(1)SQL Server 2008平臺能夠採集系統儲存效能分析和系統性能檢測的資料,以方便管理人員對系統的各項指標進行調整,提高系統性能。(2)為了降低備份資料所佔用的空間大小,SQL Server 2008對備份的資料庫進行了資料壓縮,有效的降低了磁碟的空間開銷和磁碟的I/O開銷。(3)SQL Server 2008也對資料進行了一定程度的壓縮,降低了資料儲存的開銷。

2.3 Visual Stutio 2010

Visual Studio是微軟推出的系列軟體,用於Windows平臺下的應用程式開發。Visual Stutio 2010較Visual Stutio 2005在介面、流程等方面的設計有了很大的改進,使用起來更加方便。Visual Stutio 2010能夠對Windows7平臺完美支援,Visual Stutio 2010能夠支援SQL Server系列資料庫和Oracle資料庫等。此外,Visual Stutio 2010具備如下九個新功能[37]:(1)具有動態的程式設計模式;(2)能夠實現多個顯示器分屏的操作;(3)支援測試驅動開發;(4)支援office;(5)新增Quick Search模式;(6)支援C++新特徵;(7)調整IDE功能,增強現有功能;(8)能夠利用Ribbon建立視窗化程式;(9)實現了對F#的支援[38]

另外,Visual Stutio 2010還有以下五個功能的創新。

1、應用程式的管理模式採取功能分擔的模式,改變了原始的不同角色在生命週期期間管理的不平等問題,更加適應了多角色系統。

2、Visual Stutio 2010支援了軟體開發和網路應用系統開發的最新技術,支援了最新的軟體開發框架並未開發者提供了最合適的開發工具。

3、通過改善軟體設計等內容,提高了開發者的開發體驗,也使得開發過程更加靈活,全面提高了開發效率和工作體驗。

4、Visual Stutio 2010對跨部門應用提供了全新的支援,能夠實現使用者在不同的組織內進行應用建立,實現了跨部門的開發支援。

5、Visual Stutio 2010通過提供拖拽式操作模式不僅簡化了開發難度且提高了開發效率,並結合VB、C++等語言實現了相關功能。

2.4 UML

2.4.1 UML概述

統一建模語言(Unified Modeling Language,UML)是面向物件(Object Oriented,OO)技術的通用建模語言。因為UML能夠準確、充分的表述出軟體框架中的靜態、動態資訊,且UML較其他OO建模語言更簡單,綜合因素使得UML稱為OO建模語言中的標準。UML從普通的資訊管理系統到複雜的網路分散式應用系統等各領域都能夠進行準確的建模,能夠清晰描述出軟體開發的檢視並指導系統進行開發[39]。UML通常包含三個內容要素:(1)基礎建構要素;(2)建構要素之間的規則描述;(3)公共機制。UML的基礎建構要素通常包含實體、關係、圖等內容。其中實體是整個UML建模中最基礎、最重要的成分,關係的作用是將各實體進行整合,圖是對有關聯的實體進行聚集[40]

通常講UML主要具有如下幾方面的優點:(1)UML的建模語言標準是統一的,是基於現有的面向物件方法進行抽象、提取和整合而成,進而UML實現了建模語言的標準化工作,一定程度上也使得UML建模方法稱為面向物件方法體系中標準化的建模方法;(2)UML能夠通過簡單的操作實現複雜的面向物件關係的表述;(3)相對於其他的面向物件建模方法而言,UML建模方法更加簡單易學;(4)UML自身具有一定的獨立於軟體開發過程的特點;(5)UML主要使用圖形化的拖拽式方法實現建模,視覺化能力和效果極強;(6)UML可以用於軟體系統開發的需求分析、系統設計及最後的軟體測試等各個階段中[41]

2.4.2 UML的圖

UML圖主要包含三種類型:(1)類圖;(2)用例圖;(3)時序圖。三種圖的公共點都是利用UML內部的基礎元素和元素之間規則的結合進行組成,抽象來講,UML圖是由頂點和線段,其中頂點表示實體,線段表示實體之間的關係[42]。下面對

1、類圖。類圖是面向物件體系建模內容中最常用的一種圖型別,屬於UML中的靜態檢視。類圖的功能是表示物件內容、介面正規化和彼此之間協作的關係。類圖的內容主要包括類名、方法、介面、諸如關聯關係和依賴關係等關係[43]

2、用例圖。用例圖的主要功能是描述用例、用例中的參與者和彼此之間的關係。用例圖通常包含如下內容:(1)用例;(2)參與者;(3)彼此關係;(4)泛化關係等。用例圖為一種靜態的UML建模檢視。

3、時序圖。活動圖是狀態圖的一種特殊型別,活動圖主要體現了軟體系統各個實體之間的活動流程。與類圖和用例圖不同的是,活動圖屬於UML的動態檢視,是UML建模系統中重要的一部分。時序圖體現出了系統或實體的活動以及狀態轉換等內容[44]

2.5本章小結

本章重點闡述了醫療領域臨床科研資料管理系統的構建技術,其中包括ASP技術原理、特點和資料訪問控制模型,SQL Server 2008資料庫系統,Visual Studio 2010軟體系統開發整合環境,UML建模語言等,分別從這些技術和思想的歷史發展、技術特點等內容進行詳細說明。

 

 

第三 章需求分析

3.1使用者角色分析

本系統的角色共分為三種:(1)醫生;(2)資訊管理員;(3)系統管理員。其中醫生主要擁有錄入病人的病例資料、查詢和匯出臨床科研資料系統的資料的許可權,資訊管理員主要擁有對資料進行整理、歸檔、維護等許可權,系統管理員主要擁有系統維護、配置設定和更新、角色許可權分配等許可權。如表3-1所示,為臨床科研資料系統三種角色分別對應的許可權。

表3-1臨床科研資料管理系統角色功能分析

編號

使用者名稱

角色名

角色描述

1

醫生

醫生查詢角色

醫生可以檢視許可權內專案的病人病例資料、錄入患者病例資料、檢視病人病例資料錄入進度、反饋專案存在的問題、檢視專案的概況資訊等。

2

資訊管理員

資訊管理角色

資訊管理員主要負責專案資料的管理、歸檔工作,具有專案資料檢視、資料錄入、提出專案問題反饋等許可權,同時還具備匯出資料、配置資料匯出配置等許可權。

3

系統管理員

系統管理角色

系統管理員主要負責系統整體配置的管理和使用者許可權設定等問題,同時負責實現系統的版本維護、升級等工作。

3.2 分系統需求分析

臨床科研資料管理系統主要負責儲存、查詢、管理臨床醫療資料以供科研使用,臨床科研資料管理系統按照功能和實際業務可以將整體系統分為七個子系統,即:登入管理子系統、研究資訊管理子系統、專案管理子系統、質量管理子系統、資料匯出子系統、統計分析子系統和系統配置管理子系統。臨床科研資料管理系統用例圖如圖3.1所示。

 

圖3.1臨床科研資料管理系統用例圖

3.2.1研究資訊管理子系統

研究資訊管理子系統主要實現研究資訊的展示、研究資料的查詢、資料錄入進度展示與查詢、問題反饋的展示。研究資訊管理子系統中最重要的功能模組是研究資料管理模組,其中研究資料管理模組能夠通過鍵入病人姓名查詢該病人的病例資料,也能夠通過鍵入的病人的姓名進行病人病例資料輸入或修改。不同的科研專案資料庫擁有不同的資料型別,例如胃癌核心資訊資料庫中的資料清單包括九章:(1)基本資訊;(2)基線評估;(3)腫瘤學評估;(4)手術資訊;(5)術後恢復;(6)系統治療;(7)放射治療;(8)介入治療;(9)隨訪資訊。每頁資料清單都有詳細的內容需要填寫,例如胃癌核心資訊資料庫中的基線評估清單中需要填寫腫瘤位置、腫瘤浸潤深度、淋巴結轉移、遠處轉移、胃癌所致合併症等內容。

研究資訊管理子系統包括如下幾個重要的功能:

專案選擇、專案概況展示、專案概況查詢、研究資料查詢、研究資料管理、資料錄入進度管理、資料錄入進度查詢、反饋問題的管理等功能。研究資訊管理子系統的用例圖如圖3.2所示。

 

圖3.2 研究資訊管理子系統用例圖

3.2.2專案管理子系統

專案管理子系統主要實現了研究該研究專案的部分規則的設定與維護。例如臨床科研資料管理系統中的胃癌核心資訊資料庫的研究中心程式碼、研究中心的名稱、聯絡電話、負責人、專案概況等等內容。專案管理子系統還實現了部件資訊提示對應的功能、反饋問題的回覆功能以及規則設定的功能,使用者可以自定義規則。

專案管理子系統包括如下幾個重要的功能:

新建研究中心、編輯研究中心內容、研究中心的授權使用者管理、研究中心的使用者邀請、專案概況的管理、編輯部件提示資訊、搜尋部件提示資訊、刪除部件提示資訊、問題反饋管理、規劃設定管理等功能。專案管理子系統的用例圖如圖3.3所示。

 

圖3.3研究資訊管理子系統用例圖

3.2.3質量管理子系統

質量管理子系統主要負責檢查錄入資料的結構正確性、資料完整性等內容,以決定是儲存資料到資料庫中還是需要對資料進行修訂後再儲存到資料庫中。質量管理子系統的用例圖如圖3.4所示。

 

圖3-4 質量管理子系統用例圖

3.2.4資料匯出子系統

資料匯出子系統的最主要功能是能夠匯出自定義格式的資料到本地,以供後續科研實驗使用。在進入所選資料庫後進入資料匯出子系統,可以自定義所需匯出的資料欄位,例如基本資訊 Patient Demography:Name;Sex;ID_National;Nationality;Race;基線評估 Baseline:Date_FirstD;Date_ComfirmedD;Age;His_Cancer;His_Familycancer;His_FamilyGC;腫瘤學評估 Cancer Identification:Location_Tumor;Size_Tumor_Patho;Number_Tumor等資料欄位。在配置好匯出欄位後點擊“匯出”按鈕即可匯出所需要的資料。

資料匯出子系統包括如下幾個重要的功能:

新建資料匯出、匯出欄位檢視、匯出欄位編輯、資料匯出、編輯匯出的資料等功能。資料匯出子系統的用例圖如圖3.5 所示。

 

圖3.5 資料匯出子系統用例圖

3.2.5 統計分析子系統

 

 

3.2.6 系統配置管理子系統

系統配置管理子系統包含了兩個部分的功能:專案的配置與管理和系統使用者的管理。其中專案的配置與管理的專案資訊功能實現了編輯專案資訊;專案分組功能實現了專案的分組管理;專案資料欄位的配置實現了專案所需要填寫的資料欄位,例如臨床科研資料管理系統中的胃癌核心資訊資料庫的隨訪資訊的“患者狀態”部件,配置的部件程式碼為Condition_Followup,部件型別為單選;專案配置還實現了諸如表單配置等功能。在系統使用者的管理功能模組中包括了機構資訊的管理和使用者資訊管理,其中機構資訊管理主要包括了專案資訊編輯、可訪問使用者的授權、機構的專案授權,使用者資訊管理包括使用者資訊的編輯、重置密碼等功能。

系統配置管理子系統包括如下幾個重要的功能:

專案組管理、專案組資訊管理、資料配置管理、表單配置管理、資料配置管理、資料分類管理、幫助解答管理、機構資訊管理、使用者管理等功能。資料匯出子系統的用例圖如圖3.6所示。

 

圖3.6 資料匯出子系統用例圖

3.3系統的非功能性需求分析

3.3.1經濟可行性分析

臨床科研資料管理系統課題的提出為了使用現代化的資訊方法管理臨床資料以供科研實驗使用,不僅可以節省人工記錄資料的經濟和時間開銷,且能夠大幅提高資料記錄的效率和準確性,提高臨床資料的共享範圍和資料利用率,有利於醫療機構的科研水平更上一個臺階。

臨床科研資料管理系統是基於B/S架構而設計與實現的,B/S架構的系統的業務處理基本都在後端執行,對瀏覽器的前端的效能要求很低,一般的PC已經完全能夠滿足訪問該系統,對電腦沒有特殊的硬體要求和軟體環境要求,較C/S架構對PC的要求更低且更容易實現資料的共享與管理。

3.3.2響應時長

臨床科研資料管理系統包含很多資料庫,例如胃癌核心資訊資料庫、血清資訊資料庫等資料庫資訊。不同資料庫所包含的資料量不同導致不同資料庫的響應時長也各不相同,資料量偏大的資料庫的響應時長會較資料量偏小的資料庫的響應時長更久一些,但系統的響應時長都不超過5s。對於系統的業務功能部分,涉及到資料的訪問、資料傳輸、系統反應的操作,但響應時間整體不會超過10s。

3.3.3安全性和保密性需求

臨床科研資料管理系統中儲存了大量病人真實的病例資料和病人的隱私資料,用途也僅僅侷限於科研實驗使用,如果被洩露到其他地方將會對病人造成難以估量的影響。所以,臨床科研資料管理系統的保密性和安全性要求很高,主要從許可權控制和資訊傳播範圍控制兩個方面實現系統的保密性和安全性。

在臨床科研資料管理系統的使用者許可權控制方面,是系統安全性保障與管控的一項基礎工作,對系統安全性起到至關重要的作用。系統使用者的許可權控制體系需要經過科學的設計和嚴密的控制,才能保證系統的使用者只訪問其許可權所對應的資料,避免其不適當的操作影響其他使用者的安全,也可以避免不合法的使用者非法訪問該系統。

臨床科研資料管理系統在資料保護方面的措施主要是資料訪問許可權控制、資料加密和資料備份。資料訪問許可權控制主要指未經授權許可的使用者不能訪問該資料,以避免資料惡意透漏給其他非法訪問者。資料加密主要指系統對於傳輸在網路上的資料實現了加密傳輸,以避免網路中的資料包被截獲時資料的明文直接暴露給截獲者,通過資料加密傳輸這個機制可以保證資料以一張相對安全的方式在網際網路這個開放的平臺進行傳輸。資料加密還有一項重要的機制,就是資料庫中的使用者登入密碼均採用密文進行儲存,加密演算法採用成熟得SHA加密演算法,進一步保證資料的安全性。資料備份指的是對SQL Server 2008資料庫中儲存的資料定期進行資料備份,以防止因為資料庫系統的故障導致資料丟失,如果發生資料庫故障即可以使用備份的資料庫檔案進行資料恢復。同時,為了進一步提高資料的安全性,可以定期將備份的資料庫檔案拷貝到諸如行動硬碟的儲存介質中進行額外儲存,以防止系統資料丟失。

3.3.4易用性要求

臨床科研資料管理系統的使用者絕大多數都不是計算機專業的畢業生,所以本系統的操作流程不能過於複雜計算機操作,而是要根據醫院相關工作人員的習慣進行操作流程和介面設計的簡化,以簡單的操作完成所需的完成的功能。

3.3.5其他非功能性的需求

1、系統的先進性

臨床科研資料管理系統的資料管理模型、後端實現方法、資料庫實現技術和其他相應的技術都採用相對前沿且成熟得技術手段,但對硬體沒有特殊要求。

2、系統通用性

系統主要配置在伺服器的後端,使用者通過瀏覽器對伺服器進行訪問,不會受到訪問者低於和訪問時間的限制,所以該系統具有很強的通用性。

3、系統的實用性

本系統主要結合領域的業務特點和需要實現了臨床科研資料的管理,該管理系統具有操作簡易、管理規範、組織嚴密等特點,具有很強的實用性。

4、系統的可擴充套件性

系統在後續的業務方面還會有所拓展,所以系統在開發時需要預留好介面以備後續拓展使用,這也要求系統的模組設計要做到高內聚、低耦合,使得系統的功能在發生刪除或增加時系統結構不至於有過大的變化。

3.4本章小結

本章主要說明了臨床科研資料管理系統的需求分析,首先說明了系統的三種角色並對各種角色的功能進行詳細說明;之後對系統的六個子系統進行需求需求分析,並結合用例圖對系統的子系統進行需求分析;最後對系統的五項非功能的需求分析進行詳細的闡述,在響應時長、可行性等方面對系統進行分析。

 

 

第四章 系統設計

4.1 設計的原則和目的

臨床科研資料管理系統主要儲存著病人的病例資料以用於科研實驗,資料的種類繁多且資料量可能會達到PB級,且對海量的資料進行處理的實時性要求很高,這些特點和要求給臨床科研資料管理系統的實現帶來了不小的挑戰。例如在系統的響應時長和服務的併發處理方面,在大規模資料量方面實現海量併發請求的處理的實時反饋,對系統的效能、響應能力和高併發的支援能力都提出了很高的要求。醫療資料的特點是資料量大、資料間的關聯性強、不同使用者對資料欄位請求的也不一樣,這些對系統的資料管理模型提出了很高的要求。而且,系統存著的海量資料的查詢、分析、提取等任務的類別很多,都為系統的效能進一步提出了要求。另外還有如下幾個設計的原則和目的。

1、採用結構化、平臺化的柔性開發方法,以保證系統後續的可持續發展

臨床科研資料管理系統採用是B/S架構進行開發,設計模式上採用MVC模式、模組化設計思想,以持續性的適應醫療系統和科研系統的變化情況,為後續的科研工作提供資料保障。

(1)架構化的資料管理平臺

臨床科研資料管理系統在設計時考慮到臨床科研資料管理的一體性問題,對系統的架構進行進行設計,包括:使用者資訊與許可權的管理、專案的縱向管理、專案的橫向管理、系統管理等內容。

(2)平臺化科研資料管理工具

為了滿足臨床科研實驗的資料需求和管理的要求,實際了臨床科研資料管理系統以完成海量資料的管理工作,系統設計了不同的模組完成整體功能,系統的使用者只需通過簡單的培訓就可以基本掌握該系統的使用。

2、針對臨床科研的特點設計並開發該系統

針對臨床科研工作的特點對本系統進行設計、規劃和實現,對科研科研資料進行全方位、立體化的管理,並提高資料獲取的效率和準確性。

3、系統的技術特點

該系統採用先進的軟體開發方法和資訊化策略,通過B/S架構實現了臨床科研資料管理系統的搭建工作,通過架構華、平臺化的方法實現了系統整體框架和各功能模組的設計與實現,既實現了現有功能需求,也為後續擴充套件留下了介面。

4.2 系統架構設計

臨床科研資料管理系統設計到海量醫療資料的儲存、提取與管理,需要優化海量資料的儲存結構,才能提高資料的提取、管理效率,為臨床醫療的科研工作提供資料支援,為了滿足這一需求需要考慮以下兩個問題。

(1)系統能夠滿足海量結構複雜的資料的高效管理

資料管理系統中存在著大量型別複雜、型別各異的資料,例如胃癌核心資訊資料庫中,僅基線評估清單中就儲存著腫瘤位置、腫瘤浸潤深度、淋巴結轉移、遠處轉移、胃癌所致合併症等資料欄位,除了結構化的資料外,還有一些非結構化的資料需要儲存,諸如系統中儲存的一些圖片資料。

(2)實現了海量複雜資料的管理和實時的業務反饋

通常情況下,系統的實時性與系統的複雜性成反比,也就是說越是複雜的系統其實時性的服務能力越低,反之亦然。所以一般系統都會在這兩個相反的指標上選一個平衡點,本系統對實時性的要求較一些服務型的網站低一些,但醫療資料的複雜性是無法避免的一個問題,所以系統更多重點在複雜資料的管理上,對實時性要求不是特別高,但系統的響應時間也通常不超過5s。

 

圖4.1 系統設計架構圖

如圖4.1所示,為臨床科研資料管理系統的架構層次圖,各層次具有的功能如下所述。

(1)業務層:業務層處於臨床科研資料管理系統架構的最頂層,業務層呼叫功能層的介面完成對外服務,為醫生、資訊管理者、系統管理者等使用者提供多樣化的服務,包括資料匯出、系統配置、資訊查詢、資訊統計等服務。

(2)功能層:該層位於業務層的下層、平臺層的上層,功能層主要為服務層提供功能介面,同時也從平臺層獲取服務介面,形成結果後為業務層提供服務。該層主要包括資料採集、資料歸檔和資料的統計分析。

(3)平臺層:該層位於功能層的下層、基礎層的上層,主要是搭建系統的整體平臺,完成底層的基礎計算和資料流處理,包括資料批量處理、資料統計分析的基礎演算法庫、資料流實時處理等功能。

(4)基礎層:基礎層處於臨床科研資料管理系統架構的最底層,為系統的正常執行提供支援,該層主要包括了資料庫、分散式計算檔案系統、多伺服器等內容,以完成海量醫療科研資料的儲存與訪問,為系統提供硬體和基礎軟體的支援,保證系統的高可用性、高效能和高可擴充套件性。

通過上述說明的臨床科研資料管理系統的架構層模型的特點、內容、資料採集處理模型、資料流計算引擎、資料儲存優化策略等內容,構建瞭如圖*所示的系統資料管理與分析的設計框架圖。

 

圖4.2 系統資料管理與分析的設計框架圖

海量異構的臨床科研資料通過基於Storm的實時大資料處理框架整合到資料庫中,並通過資料統計與分析的演算法進行狀態動態的採集與分析,實現資料從“採集端-儲蓄端-使用端”的整合,實現為不同使用者提供精準化的資料服務和安全可靠的資料管理業務,進而使得最後使用資料更為高效。

臨床科研醫療資料管理系統有下面三個特點:

(1)系統具有一定的靈活性。臨床科研資料的需求會隨著專案的不同與發展需要的資料欄位也會有所變化,可能會增加新的表單、新的欄位,或刪除現有冗餘的表單或冗餘的欄位,系統要能夠在不大規模變動的基礎上進行重構。

(2)系統要具備可擴充套件的能力。臨床科研資料管理系統的功能需求存在動態性,需要現有系統框架具有一定的可擴充套件性,以備後續系統擴充套件用。

(3)系統模組具有重複使用性。臨床科研資料管理系統不僅能夠應用與臨床科研資料的管理,也能夠用於其他海量異構資料的管理,例如用於交通資料的管理、物流資料的管理等領域。

4.3 功能結構設計

按照功能和實際業務的需求分析,臨床科研資料管理系統將整體系統分為六個子系統,即:研究資訊管理子系統、專案管理子系統、質量管理子系統、資料匯出子系統、統計分析子系統和系統配置管理子系統。具體功能結構圖如圖所示。

 

圖4.3 系統功能結構設計圖

軟體工程領域的時序圖是以時間順序為基線對物件間的訊息互動進行描述的,通過刻畫物件間不同時間順序傳送的訊息來清晰的表示出物件間的順序和關係。