<nav id="w0g0m"><code id="w0g0m"></code></nav>
  • <xmp id="w0g0m">
    <xmp id="w0g0m"><nav id="w0g0m"></nav><menu id="w0g0m"><strong id="w0g0m"></strong></menu>
  • <xmp id="w0g0m">
  • <nav id="w0g0m"></nav>
    <menu id="w0g0m"><menu id="w0g0m"></menu></menu>
    1. 網站地圖
    2. 設為首頁
    3. 關于我們
    ?

    學校醫院信息管理系統的設計與實現

    發布時間:2023-01-02 16:42
    第一章 緒論
    1.1論文研究的背景和意義
    醫院信息系統(Hospital Information System, HIS),由美國著名醫學信息教授 Morris Collen 于 1988年提出。醫院信息系統是利用電子計算機和通訊設備,為醫院所屬各部門提 供病人診療信息(Patient Care Information )和行政管理信息(Administration Information)的收 集(Collect)、存儲(Store)、處理(Process)、提取(Retrieve)和數據交換(Communicate)的能力并 滿足所有用戶(Authorized Users)功能需求的系統[3]。
    我國衛生部于 2002 年頒布的《醫院信息系統基本功能規范》中第一章第四條明確給 出醫院信息系統的定義:醫院信息系統是利用計算機軟硬件技術、網絡通訊技術等現代化 手段,對醫院及其所屬各部門的人流、物流、資金流進行綜合管理,對醫療活動各階段產 生的數據進行采集、存貯、處理、提取、傳輸、匯總、加工生成各種信息,從而為醫院的 整體運行提供全面的、自動化的管理和服務的信息系統[3]。醫院信息系統的產生,是以醫 療單位更好發展、醫院現代化科學管理以及醫療行業信息化發展的需要為背景所推動和促 成的。
    在信息工作者和醫院工作人員的共同努力下,經過十多年發展,逐步形成一套功能齊 全的醫院信息系統,能夠實現基本的功能即醫院信息共享、自動化辦公、計算機化管理以 及網絡化傳輸等。由于醫院信息系統存在開發技術復雜、用戶需求不固定和應用資源多樣 性等特點,在各種信息系統中,醫院信息系統在設計開發上屬于復雜的一類,造成這種狀 況的原因,與醫院的自身特點和業務需求密不可分。
    科學技術的迅速發展促使信息管理的面貌發生了根本性的改變,驅使以單個計算機為 中心過渡到以網絡為中心,為信息技術在企事業領域中的應用提供了一種全新的工作環 境,為各部門之間的信息交流、資源共享以及有效管理提供了極大方便。信息技術逐漸滲 入到社會各個領域,帶動了當今世界發展的潮流,推進了國家、地區以及單位的信息化建 設,原有人工管理方式已不能滿足現代化管理的需求。為了適應現代化管理的要求,醫院 迫切需要建立內部專用網絡,幫助各部門與社會醫療機構進行信息通訊與處理,為單位提 供辦公決策以及各種信息服務,改進傳統的管理模式,幫助醫生及時全面地獲得患者信息, 縮短患者的就醫流程,提升醫療質量。
    建設全面集成化的數字型醫院不僅能夠提高醫院的經濟效益,對醫院的社會地位和形 象產生深遠影響,還能為院領導的科學決策和日常辦公帶來極大便捷,促使醫院各部門的 工作高效展開。應用軟件小型化和處理業務專業化是我國乃至世界下一階段對醫療信息系 統的研究趨勢。
    1.2論文的主要工作和創新點
    由于生活節奏加快,人們生活水平提高,醫院作為大眾生活中不可或缺的一個重要部 門,傳統的就診模式已不能滿足人們的需要。研究如何利用快速發展的科學技術優化就診 流程,完成醫院的信息化建設,提高醫院的服務水平以及建設全面集成化的數字型醫院具 有十分重要的時代意義。
    本文的主要工作內容及創新點包含以下幾個方面:
    1)本文通過分析醫院信息系統的體系結構,對研究課題有了進一步了解,通過參照 大量的國內外相關文獻,介紹了醫院信息系統的研究現狀和發展趨勢,闡述了本課題的實 用價值。我們項目組對學校醫院各部門的職能設置、業務流程和系統需求進行了分析和討 論,確定了待開發系統的功能需求、非功能需求、編程語言以及開發和運行環境的軟硬件 需求,并采用UML建模技術,使用Visio繪圖軟件,定義了系統的用例圖和協作圖,進而 確定了系統的動態模型。
    2)我們項目組參照項目前期階段完成的需求分析文檔,對系統進行了整體結構設計、 數據庫設計、界面設計和功能模塊設計。在結構設計上,確定了系統的結構模型,并采用 C/S 三層結構模式,將系統的應用功能劃分為表示層、業務邏輯層和數據訪問層等三個部 分。數據庫設計包含對數據表的設計和視圖設計兩個方面,本文設計部分首先介紹了系統 與數據庫的連接方式;然后通過對類抽象和系統E-R模型建立以及數據庫關系模式轉化, 采用SQL Server技術,把現實世界中的實體關系模式映射為關系數據庫中對應的表格;最 后對數據庫中視圖結構和創建方法進行了詳細說明,優化了系統對多個數據表的查詢。界 面是系統與用戶交互的可視化部分,在本文中介紹了登錄界面和主界面的設計實現過程。
    3)在功能模塊設計方面,確定了系統的主要開發模塊如下:門診管理、藥房管理、 藥庫管理、綜合查詢、系統管理、一卡通退費管理、修改密碼等七個功能子系統。其中門 診管理子系統包括:門診掛號、醫師門診、病房門診和劃價收費模塊,藥房管理子系統包 括:入藥提請、藥房發藥、藥房出藥和藥房庫存模塊,藥庫管理子系統包括:提藥批復、 藥庫入藥、藥庫出藥和藥庫庫存模塊,綜合查詢子系統包括:門診收費統計、藥庫出入記 錄和藥房出入記錄模塊,系統管理子系統包括:藥品字典、項目字典、科室設置、醫師字 典、出入庫字典、出入房字典、操作員字典、患者類別字典和系統參數設置模塊。
    4)為了建設全面集成化的數字型校園,國內外許多高校在其校園范圍內推出了各種 基于校園一卡通系統的信息服務體系。校醫院作為高校中必不可少的重要部門,我們項目 組成員對校園一卡通系統進行了深入研究,針對學校醫院信息管理系統在新的分布式系統 中所應具有的功能,提出將校園一卡通系統與學校醫院信息管理系統集成的設計思想。本 文實現部分針對兩個系統的集成設置和集成過程中數據接口問題的解決方法,以及系統中 具有代表性的功能模塊進行了詳細闡述。
    我們項目組采用.NET技術、UML建模技術、SQL Server技術和C/S三層結構模式, 設計和開發了一套功能完善的學校醫院信息管理系統,該應用系統改善了校醫院的管理模 式,為患者提供了高效的就診支持并為醫護人員統計分析數據提供了實時全面的數據支 持。項目驗收階段,通過反復測試,系統運行良好,并在校醫院中投入了正常使用。
    1.3 論文的組織結構
    本文首先介紹了醫院信息系統的研究背景和意義;然后通過對醫院信息系統的體系結 構以及國內外研究現狀和發展趨勢進行分析,闡述了本課題的實用價值;最后對學校醫院 信息管理系統在需求分析、設計和實現階段所做的主要工作以及未來的發展趨勢分別進行 了論述。
    第一章 概述:本章首先對醫院信息系統的研究背景和意義進行了介紹,然后闡述了 該課題研究的主要內容和創新點。
    第二章 醫院信息管理系統綜述:本章對醫院信息系統的體系結構進行了詳細分析, 介紹了醫院信息系統在國內外研究情況和發展趨勢,闡述了研究該課題的實用價值。
    第三章 學校醫院信息管理系統的需求分析:本章對需求分析階段的工作進行了詳細 介紹,確定了系統的功能需求、非功能需求、編程語言以及開發環境和運行環境的軟硬件 需求,并采用UML建模技術,使用Visio畫圖軟件,繪制了系統的用例圖和協作圖,進而 確定了系統的功能模型。
    第四章 學校醫院信息管理系統的設計:本章首先在結構上對系統進行了整體設計, 并采用 C/S 三層結構模式,將系統的應用功能劃分為表示層、數據訪問層和業務邏輯層等 三個部分進行設計和開發。其次在數據庫設計方面,介紹了數據庫連接方式,通過對 NetLab.Model項目中類的抽象,建立系統E-R模型并轉化為數據關系模式,采用SQL Server 技術,最終轉化為數據庫中對應表格,并闡述了數據庫中視圖的結構以及創建方法,優化 了系統對多個數據表的查詢。最后對系統的界面和功能模塊進行了詳細設計,以便后期開 發階段順利進行。
    第五章 學校醫院信息管理系統的實現:針對校園一卡通系統集成到學校醫院信息管 理系統的設計思想,本章在分析校園一卡通系統以及集成后信息管理系統所應具有的新功 能基礎上,詳細介紹了兩個系統的集成設置方法、相關文件應用,以及解決了集成過程中 兩個系統數據接口問題,并對系統中具有代表性的功能模塊在實現方面進行了詳細闡述。
    第六章 結論:本章是對本篇論文的總結。對本論文各部分的工作內容進行了系統性 總結,以及對建設全面集成化的數字型醫院進行了展望。
    第二章 醫院信息系統綜述
    2.1醫院信息系統的構成
    為病人提供全面優質的醫療和服務是醫院的服務宗旨,因而在醫院信息系統的設計與 開發上,應以病人為主要考慮因素。參照我國醫院現行的體系結構、業務流程和管理模式, 醫院信息系統(Hospital Information System, HIS)可劃分為如下23個相對獨立的子系統[1]。
    ♦醫院門診、急診病人掛號子系統
    ♦醫院門診收費劃價和門診收費管理子系統
    ♦醫院急診病人管理子系統
    ♦醫院門診醫生工作站子系統
    ♦檢驗信息子系統
    ♦醫學影像子系統
    ♦醫院住院醫生工作站子系統
    ♦護士工作站子系統
    ♦醫院病房床位管理子系統
    ♦醫院住院病人入、出、轉院管理子系統
    ♦醫院住院收費子系統
    ♦醫院住院手術、麻醉管理子系統
    ♦醫院病案管理子系統
    ♦醫院藥品管理核算子系統
    ♦物資管理子系統
    ♦設備管理子系統
    ♦醫院財務會計核算處理子系統
    ♦醫院醫療統計分析子系統
    ♦醫院經濟核算分配子系統
    ♦社會醫療保險事業管理子系統
    ♦社區(鄉鎮)醫院預防醫療保健服務管理子系統
    ♦醫院門診病人學醫咨詢服務子系統
    ♦醫院領導決策分析子系統
    按照功能劃分,可將以上 23 個子系統歸納為五個部分:費用管理部分、臨床診療部 分、藥品管理部分、綜合管理和統計分析部分以及醫院外部接口部分。如下圖所示:
     
    圖 2-1 醫院信息系統結構圖
     
    適用性是醫院信息系統的設計原則,開發人員主要根據醫院的規模、財力、業務流程 和實際需求選擇開發相應功能的子系統。我們項目組通過深入調研,將學校醫院信息管理 系統劃分為門診管理、藥房管理、藥庫管理、綜合查詢、系統管理、一卡通退費管理、修 改密碼等七個子系統進行研發,每一個子系統根據校醫院各部門的業務流程和功能設置, 又劃分為一系列相應的功能模塊,每個功能模塊的設計與實現在后面章節中會詳細闡述。
    2.2國內外關于HIS的研究現狀與發展趨勢
    2.2.1HIS的國內外研究現狀
    醫院信息化管理開始于20 世紀60年代,發展過程大致分為三個階段:第一個階段集 中在開發醫院行政管理的功能上,如財務收費管理,直到1972年Collen在報告中指出, 迄今為止沒有一個全面的計算機化醫院管理系統在美國投入使用;第二個階段醫院信息化 系統在繼續完善行政管理功能的同時,開發人員開始處理醫療信息領域,如病人醫療處理, 直到 1985年美國醫院的數據處理調查表明, 80%醫院實現了計算機化財務收費管理, 70% 醫院可支持計算機化病人掛號登記和行政事務管理, 25%醫院具備了功能比較完整的醫院 信息系統;第三個階段研究人員把重點放在了病人床邊系統(Bidside Information System)、 醫學影像處理(Picture Archiving and Communication System, PACS)、病人計算機化病案 (Computer Based Patient Record, CPR)、統一的醫學語言系統(Unified Medical Language System, UMLS)等方面,醫院信息系統正在經歷著小型化、集成化和智能化的改造過程[1]。
    國內醫院信息系統的研發開始于20世紀80年代,規模由小型機向微機遷移,操作系 統以DOS為主,數據庫主要采用dBASE,編程語言為BASIC、PASCAL等過程化語言。 20世紀80年代后期,我國醫院信息系統發展較快, 1988年11月召開了首屆全國醫院管理 計算機應用學術會議,將醫院信息系統開發計劃列入“八五”攻關課題,各子系統開發應用 蓬勃興起。網絡采用TCP/IP協議,數據庫采用Oracle、SQL Server、Sybase> Informix等, 服務器主要運行NT和UNIX,系統開發工具使用PowerBuilder、Delphi、VB等軟件。
    我國醫院信息系統的發展大體經歷三個階段:單項業務應用、部門級與方面級的應用 和比較完整的醫院信息系統,我國醫院信息化管理目前處在第二階段,真正的醫療業務很 少能參與到信息化方式中,因此醫院信息系統的開發和應用,己成為醫院現代化建設中一 項十分重要的任務。從醫院規模看,具有醫院信息系統的省級醫院比例達到 84%,地市級 醫院為 37%,縣級醫院為 34%。從醫院信息化內涵看, 85%醫院信息系統是以財務核算為 中心的管理信息系統(MIS),10%醫院開始探索開發以醫生工作站為核心的臨床信息系統 (CIS),5%醫院正在探索開發PACS系統(醫學圖像存儲與傳輸系統)[4]。
    2.2.2HIS的研究趨勢
    我國醫院信息化建設發展速度緩慢,主要因素體現為技術人員缺乏,不能及時對系統 進行維護,醫護人員難以獲取實時性的信息,和國外醫療體系相比,業務流程和數據信息 沒有統一標準,增大了系統開發難度,阻礙了醫療信息共享的實現。因而在醫院信息化建 設過程中,應加大資金投入,加強技術人員的素質和技能培訓,結合我國醫療機構的管理 模式,引進國外先進的管理思想,完善醫院信息化標準,減少醫療信息系統的重復開發, 實現醫院各部門與社會醫療機構之間的信息交流和資源共享。完善醫院與其他機構的外部 接口,如醫療保險部門、其他醫療機構和相關的政府部門等,建立開放穩定的集臨床和醫 院管理一體化的數字平臺。
    2.3本課題的實用價值
    人們生活水平的快速提高以及不斷發展的科學技術,加快了社會各個領域的信息化建 設進程。醫院作為人們生活中不可或缺的重要部門,傳統的人工管理化模式已不能滿足人 們的需要,運用先進的科學技術建立集成化的數字型醫院才能使其走上“優質、高效、低耗” 的發展道路。因此研發一套性能穩定、功能完善的醫院信息管理系統對醫院的發展已成為 必然趨勢,本課題的實用價值主要體現在以下幾個方面:
    ◊學校醫院信息管理系統將校醫院的各種業務流程,比如就診、劃價、取藥等連成 一體,領導層可以通過本系統,及時獲取有效信息,實現對醫院各部門業務的監控和管理。
    ◊學校醫院信息管理系統不僅可以實現病人信息采集與存儲的自動化,還可以對藥 品信息、項目信息等醫療信息進行綜合分類和管理,幫助醫生獲得全面實時的有效數據, 優化病人的就診流程,提高醫護人員的工作效率,便于對校醫院工作流程全面管理。
    ◊ 促使醫院管理更加規范化、系統化和透明化,不僅加強了藥品和醫療器械的庫存 管理,提高資金的使用效率,還能嚴格控制它們的流動,減少藥品和醫療器械的無故流失。
    2.4 本章小結
    本章首先介紹了醫院信息系統的體系結構,然后通過閱讀大量國內外相關文獻,對醫 院信息系統的研究現狀和發展趨勢進行了詳細闡述,最后論述了研究本課題的實用價值。
    第三章 學校醫院信息管理系統的需求分析
    3.1 需求分析過程
    軟件需求分析工作是軟件開發成功的前提和基礎,需要研發人員與用戶密切配合,將 軟件的功能和性能描述轉換成精細的軟件邏輯模型。首先研發人員需要進行細致地調查分 析,認真了解用戶的需求,并澄清用戶的模糊需求,最終將用戶非形式化的需求敘述轉化 為完整的需求分析文檔,進而明確系統的開發目標。需求分析的基本任務包括[33]: ♦問題識別
    (1) 功能需求:明確待開發軟件的實現功能。
    (2) 性能需求:明確待開發軟件的技術性能指標。
    (3) 環境需求:明確軟件運行對機器的軟、硬件需求。
    (4) 用戶界面需求:明確軟件和用戶交互的界面形式。
    ♦分析與綜合,導出軟件的邏輯模型
    研發人員對數據流和數據結構進行詳細分析,逐步細化系統的功能,找出系統各元素 之間的聯系和設計上的限制,形成系統的解決方案,建立目標系統的邏輯模型。
    ♦編寫需求分析文檔
    為了對用戶的需求清晰準確地描述,開發人員需要編寫軟件需求規格說明書。
    ♦需求分析評審
    在需求分析工作的最后階段,研發人員需要對系統的功能需求、性能需求以及其他需求 進行評審并給出評價。
    3.2 系統的功能需求
    我們項目組針對醫院信息管理系統的使用情況進行深入調研,發現大部分醫院根據自 身特點和業務流程,進行醫院信息系統的設計與開發。比如,一些醫院把病房的床位管理 模塊納入信息系統中,一些醫院把門診收費模塊和信息系統分開等。我們項目組對學校醫 院目前使用的信息管理系統進行詳細分析,并綜合考慮部門的職能設置以及聯網后的應用 需求,結合項目開始階段完成的需求分析文檔,將目標系統劃分為以下幾個模塊進行開發, 如表 3-1所示。
    編號 系統功能 功能模塊 模塊介紹
    1 門診管理 門診掛號 門診掛號支持一卡通掛號和現金掛號,并記 錄患者的基本信息
    醫師門診 對患者進行病情診斷,選擇項目和藥品,并 開出處方
    病房門診 對患者進行病情診斷,選擇項目和藥品,并 開出處方
    劃價收費 對項目和藥品進行劃價和收費
    2 藥房管理 入藥提請 藥品數量不足時,向藥庫申請藥品
    藥房發藥 針對繳費成功的患者發放藥品
    藥房出藥 記錄藥房中藥品的所有流向,但不包括藥房 發藥方式
    藥房庫存 管理藥品的庫存信息
    3 藥庫管理 提藥批復 批復入藥提請模塊發出的提藥申請
    藥庫入藥 對新購入的藥品進行正常入庫
    藥庫出藥 記錄藥庫中藥品的所有流向
    藥庫庫存 管理藥品的庫存信息
    4 綜合查詢 門診收費統計 統計門診收費信息,便于管理和查詢
    藥庫出入記錄 記錄藥品出入藥庫的信息
    藥房出入記錄 記錄藥品出入藥房的信息
    5 系統管理 藥品字典 負責藥品信息的管理
    項目字典 負責項目信息的管理
    科室設置 負責科室信息的管理
    醫師字典 負責醫師信息的管理
    出入庫字典 負責藥品出入藥庫的類型設置
    出入房字典 負責藥品出入藥房的類型設置
    操作員字典 負責操作員信息的管理,以及對操作員的使 用權限進行設置
    患者類別字典 負責患者類別的信息管理
    系統參數設置 負責系統參數的管理,包括最低庫存數量、 預警天數、掛號費等
    6 一^通退費管理 對刷卡繳費的患者,執行退費操作
    7 修改密碼 修改登錄密碼
     
    學校醫院信息管理系統實現的主要功能是:患者在門診掛號模塊可使用校園一卡通繳 費和現金繳費兩種掛號方式,掛號成功后選擇醫師門診或病房門診就診,醫師根據患者病 情書寫電子病歷,并選擇相應的藥品或項目,最后開出并打印患者處方。門診管理員在劃 價收費模塊對患者開出的藥品和項目進行劃價和收費,并打印收費發票。藥房針對繳費成 功的患者,根據藥品單發放藥品,若藥品數量不足,可向藥庫發出提藥申請,藥庫根據庫 存情況進行提藥批復。如果存在患者繳費成功后,退掉某一藥品或項目的情況,操作員在 一卡通退費模塊針對刷卡患者執行退費操作并開出退費憑據,患者到一卡通管理中心領取 相應金額。
    3.3系統的非功能需求
    非功能性需求,是指軟件產品為滿足用戶需求必須具有且除功能需求以外的特性。本 系統采用先進、成熟的軟硬件技術,以便適應醫療機構的業務發展和信息化建設的需求, 比如在系統開發方面,使用Microsoft公司推出的功能強大的.NET開發平臺,此平臺包含 世界上先進的程序設計理念。
    本系統可擴展性和可維護性良好,在結構設計方面采用 C/S 三層結構模式,將系統整 體劃分為表示層、業務邏輯層、數據訪問層等三個部分,實現了各層在邏輯上的獨立性, 降低了各個層次之間的依賴,便于開發人員對系統進行維護和后期開發。由于采用模塊化 的結構設計,本系統能夠靈活配置以適應不同環境,為系統的可擴展性奠定了良好的基礎。 在數據庫設計上也綜合考慮將來設計需求,采用SQL Server技術,把現實世界中的實體關 系模式映射為關系數據庫中對應表格,此技術具有高性能、可靠性和可擴充性等優點,方 便系統的功能擴展和數據庫的后期維護。
    我們項目組嚴格遵循軟件開發的工程思想,從系統的需求分析到設計再到實現。在開 發方面嚴格遵守軟件開發流程,書寫規范代碼,在系統和數據庫設計上嚴格按照國家醫療 衛生行業的有關標準,保證系統的質量。項目完成階段書寫完整、詳細的開發文檔,為本 系統的后期維護、功能擴展提供良好參考。
    3.4 系統軟硬件需求
    我們項目組通過對需求分析文檔進行詳細分析和討論,確定了系統的架構模型,包括
    用戶交互界面、Windows窗體、軟件底層環境和底層數據庫等四個部分,如圖3-2所示:
     
     
    由上圖可以看出,系統架構的每一部分采用不同的軟件工具進行開發,為了方便對系 統的軟硬件需求進行說明,本節主要從系統的開發環境和運行環境兩個方面進行介紹。
    開發環境的軟硬件配置如下所示:
    (1) 軟件配置
    ◊操作系統:Windows 7/XP
    ◊開發和運行環境:Microsoft .NET Framework 3.5
    ◊開發工具:Microsoft Visual Studio.NET 2008
    ◊數據庫開發工具:Microsoft SQL Server 2005
    通過將 DevComponents.DotNetBar2.dll 和 DevExpress.LocalizationCHS.dll 兩個動態鏈接 庫文件放入 Hospital 項目(界面層)的 bin 文件夾中,在 Visual Studio 軟件的工具箱中會 生成一系列控件,用于對用戶交互界面進行開發,可使界面更加美觀和人性化。為了適應 高校信息化建設,需要將校園一卡通系統作為第三方與本系統進行整合,由于C#編程語言 不能直接調用C++庫,只能通過.NET提供的互操作服務進行動態鏈接庫的重新封裝后才 能使用,因此我們項目組對校園一卡通系統進行了深入分析,并考慮到整合后學校醫院信 息管理系統所應具有的功能,最終運用AIO_API.dll文件,對第三方API進行封裝,其中 包括函數的封裝和數據結構的轉換,最終轉化成C#編程語言可以直接調用的方法和數據結 構。
    (2) 硬件配置
    ◊P4 1.4G 或以上 CPU
    ◊2G DDR 400 Memory
    ◊80G Hard Disk
    ◊聲卡、顯卡主板集成
    (3) 網絡配置
    ◊Intel 10/100M 網卡
    ◊10/100M 自適應交換機
    本系統對運行環境的軟硬件配置要求如下:
    (1) 軟件要求
    ◊Microsoft .NET Framework 3.5
    ◊Microsoft SQL Server 2005
    ◊Windows 2003 Server (服務器端操作系統)
    ◊Windows 7/XP (客戶端操作系統)
    (2) 硬件要求 服務器端:
    ◊P4 2.0G CPU
    ◊2G DDR 533 Memory
    ◊160G Hard Disk
    ◊Intel 10/100M 網卡 客戶端:
    ◊P4 1.4G 或以上 CPU
    ◊1G DDR 400 Memory
    ◊80G Hard Disk
    聲卡、顯卡主板集成
    3.5編程語言 C#
    校醫院信息管理系統使用Microsoft Visual Studio.NET作為開發工具,本工具支持二十 多種編寫程序的語言,其中最常見的編程語言包括Visual Basic、Visual C#以及Visual C++, 不僅加強了各種編程語言之間的平臺無關性,并且有力提高了程序的可移植性。
    Visual C#編程語言作為Visual Studio.NET開發工具的原生語言,更好地體現了 Visual Studio.NET的特點:類型簡單、先進、面向對象和可視化等,融匯了部分編程語言的精華。 Visual C#是Microsoft公司重新開發的一種完全面向對象的可視化編程語言,并非從C語 言或C++語言派生而來。Visual C#編程語言可以完成小到桌面應用程序,大到大型的分布 式應用系統的任何程序設計的需要,程序的運行形式既可以是Windows和Web應用程序, 也可以是Windows和Web服務程序,Visual C#語言也可以進行組件開發和網絡編程[18]。
    和其他面向對象的可視化編程語言相比,Visual C#語言具有編輯器操作方便和編譯器 功能強大的優勢。使用Visual C#語言開發的程序是運行在.NET Framework環境下的,它 是Visual Studio .NET開發工具下一種全新的編程語言,因此與其他編程語言相比,在編程 的概念上、程序的設計方法上以及程序的表現形式上既有許多共性,也有很多獨特之處。 Visual C#語言雖然在形式上與C++語言比較相似,但是在編程概念上最接近Java編程語言, 我們項目組綜合考慮以上因素,最終把Visual C#語言作為本系統的編程語言。
    3.6系統用例圖和動態模型
    統一建模語言(Unified Modeling Language ,UML )是一種面向對象的建模語言,使用 標準化、統一的定義和標記對軟件系統進行描述和建模[35]。UML的主要內容可由下面五 類圖定義:第一類是用例圖,主要描述用戶所理解的系統功能;第二類是靜態圖,包括類 圖、對象圖和包圖;第三類是行為圖,包括狀態圖、活動圖、順序圖和協作圖,主要描述 系統在時間和順序上與組成對象的關系;第四類是交互圖,主要描述系統對象之間的關系; 第五類是實現圖。
    UML建模語言提供的用例圖描述了系統開發者和用戶基于系統功能所達成的共識,是 進行需求分析的強有力工具。用例圖是由參與者、用例以及用例之間的關系構成的,用來 描述系統的功能需求,但不涉及系統功能的具體實現[36]。參與者是指系統使用者在與系統 交互時所扮演的角色,比如管理員、操作員等,并不特指人或事物本身。用例是指參與者 對系統的操作,表示一系列動作。用例之間的關系主要包括擴展和使用,擴展關系是指一 個用例通過向前一個用例添加一些動作構成的,因而繼承了前一個用例的行為。使用關系 是指一個用例通過對其他用例的使用構成的,這兩種關系描述了幾個用例的相同行為。
    通過以上介紹,我們可以得到系統的用例圖。本系統的用例圖使用Microsoft Visio 2003 軟件繪制,它是由微軟公司開發的專業繪圖軟件,具有使用簡單方便、功能強大等特點, 適用范圍涵蓋了電氣工程、工藝工程、機械工程、建筑設計、IT行業等多個范圍領域,在 本課題的研究中主要用來繪制用例圖、協作圖和E-R圖。系統的用例圖如下所示:
     
     
     
     
     
     
    圖 3-5 綜合查詢用例圖
     
    在繪制用例圖的基礎上,為主要用例圖畫協作圖也極其重要。協作圖包括活動者、對 象、連接和消息等四種基本元素,主要描述對象之間通過交互來執行某一用例或用例某一 部分的關系。對象表示類的直接或間接實例,雖然系統中可能存在多個對象,但是協作圖 列出的只是參與協作的對象。消息表示系統的動態行為,比如一個對象向其他對象發送消
    息或調用其他對象產生的操作行為,在協作圖中消息用帶標簽的箭頭表示,依附在鏈上。 鏈連接了兩個或多個對象,代表實例之間的關聯,在協作圖中用線或弧表示。本系統的主 要協作圖如下所示:
     
    圖 3-6 門診管理協作圖
     
     
     
    3.7本章小結
    本章對系統的需求分析階段完成的工作進行了介紹,確定了系統的功能需求、非功能 需求、編程語言以及開發環境和運行環境的軟硬件需求,并采用UML建模技術,使用Visio 畫圖軟件,繪制了系統的用例圖和協作圖,進而定義了系統的功能模型。
    第四章 學校醫院信息管理系統的設計
    我們項目組在校醫院工作人員的幫助下,針對校醫院目前使用的門診、公費醫療等信 息管理系統進行了詳細分析,并考慮到各部門接入校醫院專用網后的應用需求。經過多次 討論、不斷修改和完善,我們項目組完成了需求分析工作,最終確定劃分以下幾個主模塊 進行系統的設計與開發:門診管理、藥房管理、藥庫管理、系統管理、綜合查詢、一卡通 退費管理和修改密碼。本章主要從設計方面對系統進行詳細說明,包括系統的整體結構設 計、數據庫設計、用戶交互界面設計以及各功能模塊的設計等。
    4.1系統整體結構設計
    為了適應高等教育現代化發展的需求,高等院校需要采用先進的信息技術構建數字型 校園,進而提高管理效率、強化教學質量、提升服務水平。校醫院作為高等院校中重要的 部門,需要加強自身信息化建設,滿足高等院校現代化管理的要求。由于,校園一卡通系 統研究成熟并在高校中廣泛應用,我們項目組對校園一卡通系統深入分析的基礎上,將其 作為第三方服務器與學校醫院信息管理系統進行了整合。系統的整體結構如圖 4-1所示:
     
     
    企業進行軟件開發一般采用兩種平臺模式:B/S (Browser/Server,瀏覽器和服務器) 結構和C/S(Client/Server,客戶機和服務器)結構。B/S結構在客戶端安裝一個瀏覽器,用 來與用戶交互,承載少量的事物處理任務,軟件的任務大部分集中在服務器端進行處理, 簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,但由于服務器端承載大 量的數據負荷,因而對服務器端的配置要求比較高,此種結構一般用于網站開發。
    C/S 結構包含客戶機和服務器兩部分,客戶機和服務器一般部署在兩臺計算機上,這 兩臺計算機的位置可近可遠,開發人員根據系統的需求以及計算機的軟硬件環境,選擇合
     
    理的任務分配到終端。客戶機的主要任務是與用戶交互,將用戶請求提交給服務器,服務 器通過運行后臺程序處理用戶的請求,并將結果返回給客戶機。客戶機具備一定的數據存 儲和處理能力,可以承接軟件的部分任務,因而可以減少網絡的數據傳輸量,加快系統處 理速度,減少用戶響應時間,減輕服務器的負擔,但對客戶機的配置要求較高。服務器主 要和數據庫進行交互,執行數據處理任務,客戶端通過將請求發送給服務器,得到數據庫 的支持,滿足用戶的不同需求。此種模式可以減輕服務器的運行負擔,方便數據庫的管理, 進而加快用戶請求的響應速度。
     
    本系統采用c/s三層結構模式,基于分離數據層和界面層實現代碼的思想,將系統的 應用功能劃分為表示層、業務邏輯層和數據訪問層等三個部分,使一個程序可以表現為不 同的形式。表示層主要接受用戶的請求,并顯示數據,為客戶端提供應用程序的訪問。業 務邏輯層是軟件系統結構中的核心部分,主要負責數據層的操作,對數據業務進行邏輯處 理。數據訪問層通過和數據庫的交互,對數據文件進行操作,包括對數據表的查詢、添加、 修改和刪除等操作。C/S三層結構模式實現了各層在邏輯上的獨立性,降低了各個層次之 間的依賴,方便軟件的維護和后期開發。采用此種結構模式對目標系統進行劃分,如圖 4-2 所示,下面將詳細介紹各層的具體實現。
    表示層
    表示層(Hospital)是本系統的核心功能和界面實現。只負責系統的功能實現和界面展 示,不直接操作數據庫,通過調用業務邏輯層(BLL )執行數據庫操作。
    數據訪問層
    數據訪問層(NetLab.DAL)是數據庫實際的SQL語句實現,供業務邏輯層(BLL) 調用。與BLL中的抽象業務一致,是BLL中每個方法的底層實現。
    NetLab.DBUtility提供數據庫操作相關的輔助類,其中包括一些對數據庫操作的常用方 法,供其他項目使用。
    業務邏輯層
    業務邏輯層(NetLab.Bll)不包含實際SQL語句的實現,SQL語句的實現在DAL項目 中。所有的操作都是面向對象,即對NetLab.Model中的對象操作,其中包括查詢、增加、 刪除、修改、集合查詢、對象查詢等操作。
    NetLab.Model 項目包含軟件中所有實體對象。相對于每個實體對象,需要專門類進行 描述,每個類中包含說明實體對象屬性的變量,以及每個變量的setter和getter方法,變量 命名需與數據庫中該實體對象的字段名完全相同,以保證數據傳輸的一致性。
    NetLab.Common提供常用組件以及公共方法,如讀取或寫入INI文件、頁面數據校驗、 字符串格式轉換等。
    HSet中包含系統的安裝包,包括軟件圖標、軟件的安裝卸載、第三方配置、讀卡器驅 動等相關設置。
    4.2 數據庫設計
    數據庫的設計是醫院信息管理系統的設計重點,數據庫存儲和管理著大量的醫療信 息,為醫院的管理和運行提供可靠的依據,同時合理高效的數據庫會加快信息查詢速度, 提高醫院的工作效率。我們項目組對校醫院的數據庫文件進行了詳細分析,并收集整理校 醫院相關的醫療信息,包括藥品信息、醫師信息、科室信息等,通過對類抽象和系統 E-R 模型建立以及數據庫關系模式轉化,采用SQL Server技術,把現實世界中的實體關系模式 映射為關系數據庫中對應表格。我們項目組設計了27張數據表,其中字典表包括14張, 門診管理模塊包括5張數據表,藥房管理模塊包括5張數據表,藥庫管理模塊包括3張數 據表,如表 4-3所示。
     
    表 4-3 學校醫院信息管理系統數據庫清單
    分類 數據表名 數據表用途
    字 典 表 ZD YP 藥品字典,存儲藥品的基本信息
    ZD HZLX 患者類型字典,存儲患者的類型信息
    ZD SYFF 藥品使用方法字典,存儲藥品的使用方法信息
    ZD JX 劑型字典,存儲藥品的劑型信息
    ZD BZ 包裝字典,存儲藥品的包裝信息
    ZD SFXM 收費項目字典,存儲收費項目的信息
    ZD XM 項目字典,存儲項目的基本信息
    ZD KS 科室字典,存儲科室的基本信息
    ZD YS 醫師字典,存儲醫師的基本信息
    ZD CZY 操作員字典,存儲操作員的基本信息
    CZYQX 操作員權限字典,存儲操作員的使用權限
    ZD CRK 出入庫字典,存儲藥品出入藥庫的信息
    ZD CRF 出入房字典,存儲藥品出入藥房的信息
    XTCS 系統參數,存儲系統的基本信息
    門 診 管 理 CFXX 處方信息,存儲患者的就診信息
    CFXM 處方項目,存儲醫師開出項目的信息
    CFYP 處方藥品,存儲醫師開出藥品的信息
    SFJZ 收費記賬,存儲對藥品和項目劃價收費的信息
    SFHZ 收費匯總,存儲系統收費對象的類別信息
    藥 房 管 理 FHYK 藥房返回藥庫,存儲藥品由藥房返回藥庫的信息
    YFCRL 藥房出入流,存儲藥品出入藥房的信息
    YFCRHC 藥房出入緩存,存儲藥品出入藥房的臨時信息
    YFKC 藥房庫存,存儲藥品在藥房中的庫存信息
    RYTQ 入藥提請,存儲藥房向藥庫申請藥品的信息
    藥 庫 管 理 YKCRL 藥庫出入流,存儲藥品出入藥庫的信息
    YKCRHC 藥庫出入緩存,存儲藥品出入藥庫的臨時信息
    YKKC 藥庫庫存,存儲藥庫中藥品的庫存信息
     
    4.2.1創建數據庫
    本系統采用Microsoft SQL Server 2005作為數據庫開發工具,數據庫名為hospital□為 提高系統運行速度,減少程序的冗余量,數據庫連接代碼放入項目中Hospital目錄下的bin 文件夾中,文件名為property.config,項目加載時就與數據庫建立連接,不需開發人員重復 編寫數據庫連接代碼,提高了開發效率和質量,便于對數據庫進行維護。
    和數據庫建立連接的代碼為:
    Data Source=.;Initial Catalog=hospital;Persist Security Info=True;User ID=sa;Password= etoak
    其中“Data Source=;”表示使用本地數據庫,“Data Source”的別名是“Server”、“Address”、
     
    “Addr”,如果使用本地數據庫定義實例名,則可以寫為“Data Source=(local)\實例名”;如果和 其他計算機上的數據庫建立連接,則將“(local) ”替換成此計算機的名稱或其IP地址「“Initial Catalog=hospital;”表示使用的數據源是“hospital”數據庫,其中“Initial Catalog”別名為 “Database”。“Persist Security Info=True;”可簡單理解成數據庫連接成功后是否保存密碼信 息,“True”表示保存,“False”表示不保存。“User ID=sa;Password=etoak;”表示連接數據庫的 驗證用戶名和密碼。這里需要注意的是連接字符串中的每個參數需要用分號隔開。
    4.2.2數據庫的結構設計
    數據庫設計包含需求分析、概念結構設計、邏輯結構設計、物理結構設計、數據庫實 施、數據庫運行與維護等六個階段。概念結構設計是依據需求分析階段完成的說明文檔, 將系統涉及的數據和信息抽象為獨立的數據模型,即概念模型。常用的概念模型為E-R圖, 即實體-聯系圖,用來描述現實世界的數據模型。E-R圖的基本元素包括:實體、屬性和聯 系,實體是對系統軟件中具有一系列不同屬性事物的抽象,在E-R圖中用矩形表示;屬性 定義了實體的性質,用橢圓或圓角矩形表示;聯系是指實體之間的關系,包含一對一聯系、 一對多聯系、多對多聯系等三種類型,用菱形框表示。由于篇幅限制,本系統E-R圖中只 顯示了部分實體的屬性,使用 Microsoft Visio 2003畫圖工具進行繪制,此工具已在第三章 部分進行了詳細介紹,這里不再贅述。
     
     
     
    數據庫的邏輯結構設計是將概念結構設計階段完成的E-R圖轉換為與數據庫開發環境 支持的數據模型相符合的邏輯結構。本系統使用 SQL Server 2005數據庫開發工具,由于它
    支持關系型數據庫,因而將E-R圖轉化為關系模型,然后向關系數據模型轉換,最后優化 數據模型,根據優化后的數據模型進行數據表設計。
    由于本系統中涉及數據表的數量較多,下面對幾個重要的數據表在字段結構和數據類 型等方面進行詳細說明。
    表4-5處方信息表-CFXX
    序號 列名 數據類型 標識 主鍵 允許空 默認值 說明
    1. ID int 編號
    2. GHY nvarchar(10) 掛號員
    3. GHF bit 是否已收掛號費
    4. HZZH nvarchar(20) 患者賬號
    5. HZXM nvarchar(10) 患者姓名
    6. HZXB nvarchar(4) 患者性別
    7. NL int 年齡
    8. KNYE money 卡內余額
    9. HZLX nvarchar(10) 患者類型
    10. SFGF bit 是否公費
    11. CFYS nvarchar(20) 處方醫師
    12. ZDJG nvarchar(50) 診斷結果
    13. SFKC bit True:是;False :否 是否開岀
    14. HJY nvarchar(10) 劃價員
    15. SFHJ bit True:是;False :否 是否劃價
    16. YPHJ money 藥品劃價
    17. XMHJ money 項目劃價
    18. HJJE money 合計金額
    19. JNJE money 繳納金額
    20. SFY nvarchar(10) 收費員
    21. SFSF bit True:是;False :否 是否收費
    22. SFJZ bit True:是;False :否 是否記賬
    23. SFTY bit True:是;False :否 是否退藥
    24. SFTF bit True:是;False :否 是否退費
    25. SFZF bit True:是;False :否 是否作廢
    26. SFDK bit True:是;False :否 是否打卡
    27. FYY nvarchar(10) 發藥員
    28. SFFY bit True:是;False :否 是否發藥
    29. MDYF bit True:本部藥房,False:長清藥房 目的藥房
    30. CJSJ datetime 創建時間
    31. SFBF bit True:是;False :否 是否屬于病房掛號
    32. Memo nvarchar(50) 備注
     
     
    表4-6藥品字典表-ZD_YP
    序號 列名 數據類型 標識 主鍵 允許空 默認值 說明
    1. ID int 編號
    2. MC nvarchar(30) 名稱
    3. DM nvarchar(10) 代碼
    4. JX nvarchar(20) 外鍵 劑型
    5. BZ nvarchar(20) 外鍵 包裝
    6. GG nvarchar(20) 規格
    7. LB nvarchar(20) 西藥、中成藥、中草藥、耗材 類別
    8. SFXM nvarchar(20) 外鍵 收費項目
    9. ZFBL int % 自費比例
    10. XE bit True:是;False :否 是否限額
    11. ZDXL int 最低限量
    12. ZGXL int 最高限量
    13. JGFD bit 價格浮動
    14. SYFF nvarchar(20) 使用方法
    15. Memo nvarchar(50) 備注
     
    表4-7項目字典表-ZD_XM
    序號 列名 數據類型 標識 主鍵 允許空 默認值 說明
    1. ID int 編號
    2. MC nvarchar(30) 名稱
    3. DM nvarchar(10) 代碼
    4. SFXM nvarchar(20) 外鍵 收費項目
    5. DJ money 單價
    6. KS nvarchar(20) 科室
    7. ZF int % 自費
    8. XE bit True:是;False :否 是否限額
    9. Memo nvarchar(50) 備注
     
     
    表4-8藥房庫存表-YFKC
    序號 列名 數據類型 標識 主鍵 允許空 默認值 說明
    1. ID int 編號
    2. YPBH int 外鍵 藥品編號
    3. YKKCBH int 只在藥房提藥批復時使用,
    其他入藥填入-1 藥庫庫存編號
    4. RQ datetime 日期
    5. SJKC int 實際庫存
    6. JSKC int 計算庫存
    7. PFJ money 批發價
    8. LSJ money 零售價
    9. MDYF bit True:本部藥房,False:長清藥房 目的藥房
    10. YC bit 是否隱藏
    11. Memo nvarchar(50) 備注
     
    表4-9藥庫庫存表-YKKC
    序號 列名 數據類型 標識 主鍵 允許空 默認值 說明
    1. ID int 編號
    2. YPBH int 外鍵 藥品編號
    3. RQ datetime 日期
    4. SCCJ nvarchar(20) 生產廠家
    5. PH nvarchar(10) 批號
    6. SCRQ datetime 生產日期
    7. SXRQ datetime 失效日期
    8. SJKC int 實際庫存
    9. JSKC int 計算庫存
    10. PFJ money 批發價
    11. LSJ money 零售價
    12. Memo nvarchar(50) 備注
     
    4.2.3數據庫的視圖設計
    本系統中部分功能模塊需要獲得多張數據表中的信息,為優化系統的查詢功能,對相 關數據表進行視圖設計。數據庫hospital中的視圖如下:
    編號 視圖名 視圖說明
    1 V_CFYP 包含CFYP和ZD_YP兩個數據表,ZD_YP的主鍵ID是CFYP 的外鍵YPBH
    2 V_FHYK 包含FHYK和YKKC兩個數據表,YKKC的主鍵ID是FHYK 的外鍵KCBH
    3 V_RYTQ 包含RYTQ和ZD_YP兩個數據表,ZD_YP的主鍵ID是RYTQ 的外鍵YPBH
    4 V_YFCRHC 包含YFCRHC和ZD_YP兩個數據表,ZD_YP的主鍵ID是 YFCRHC 的外鍵 YPBH
    5 V_YFCRL 包含YFCRL和ZD_YP兩個數據表,ZD_YP的主鍵ID是YFCRL 的外鍵YPBH
    6 V_YFKC 包含YFKC、YKKC和ZD_YP三個數據表,YKKC的主鍵ID 是YFKC的外鍵YKKCBH,ZD_YP的主鍵ID是YFKC的外鍵 YPBH
    7 V_YKCRHC 包含YKCRHC和ZD_YP兩個數據表,ZD_YP的主鍵ID是 YKCRHC 的外鍵 YPBH
    8 V_YKCRL 包含YKCRL和ZD_YP兩個數據表,ZD_YP的主鍵ID是 YKCRL的外鍵YPBH
    9 V_YKKC 包含YKKC和ZD_YP兩個數據表,ZD_YP的主鍵ID是YKKC 的外鍵YPBH
     
    下面對表 4-10中藥庫管理模塊涉及的部分視圖進行簡要介紹。
    (1)藥品出入藥庫使用的視圖如圖 4-11 所示,其中勾選的字段是查詢此視圖時 不特別說明,默認輸出的字段。
     
    圖 4-11 藥品出入藥庫視圖
    創建視圖V YKCRL采用的SQL腳本如下所示:
    SELECT dbo.YKCRL.ID^bo.YKCRL.CR^bo.YKCRL.YFT.Kdbo.YKCRL.RQ^bo.YKCEL.SCCJ^bo.Y KCRL-.PHdbo.YKCRL-.SCRQ^bo.YKCRL.SXRQ^bo.YKCELIvIDYF^bo.YKCRL.PFJ^bo.Y KCRL-.LSJ,dbo.YKCF!L.FX,dbo.YKCRL.KCBH,dbo.YKCRL.Memo,dbo.ZD_YP.MC?dbo.YKC
    RL.SL, dbo.YKCRL.LB^-1
    FROM dbo. YKCRL INNER JOINp
    dbo.ZD_YP ON dbo. YKCRL. YPBH = dbo.ZD_YP.ID^'
    圖4-12創建藥品出入藥庫視圖語句
    (2)藥庫庫存的視圖如圖 4-13 所示,其中勾選的字段為查詢此視圖時,如不特別說 明,默認輸出的字段。
     
    圖 4-13 藥庫庫存視圖
     
    創建視圖V_YKKC采用的SQL腳本如下所示:
    SELECT dbo.YKKC.ID, dbo.YKKC.YF'BK dbo.YKKC.RQ, dbo.YKKC.SCCJ, dbo.YKKC.PK dbo.YKKC.SCRQ, dbo.YKKC.SXRQ, dbo.YKKC.SJKC, dbo.YKKC.JSKC, dbo.YKKC.PFJ, dbo.ZD_YP.MC, dbo.ZD_YP.DM, dbo.ZD_YP.JX, dbo.ZD_YP.BZ, dbo.ZD_YP.GG, dbo.ZD_YP.LB, dbo.ZD_YP.SFXM, dbo.ZD_YP.ZFBL, dbo.ZD_YP.ZDXL, dbo.ZD_YP.ZGXL, dbo.ZD_YP.JGFD, dbo.YKKC.LSJ^1
    FROM dbo.YKKC LEFT OUTER JOINd
    dbo.ZD_YP ON dbo. YKKC. YPBH = dbo.ZD_YP.ID^'
    圖4-14創建藥庫庫存視圖語句
    4.3 界面設計
    軟件界面,是用戶和軟件交互的可視化部分,也是用戶使用軟件的第一印象,因此一 個成功的軟件不僅要滿足用戶的功能需求,界面設計上也要力求美觀、簡單和便于操作。
    本課題的界面設計主要包括系統登錄界面和子系統主界面兩部分。
    4.3.1登錄界面設計
    為了防止未授權用戶使用本系統,系統操作員首先需要輸入用戶名和密碼,驗證成功
    后,才可允許進入系統的功能界面。為了界面美觀,本窗體除了實現核對用戶名和密碼的 功能外,還在其上放置了一些背景圖片,以便更加符合本系統的設計主題。運行后的登錄
    界面如圖 4-15所示:
     
    圖 4-15 系統登錄界面
     
    窗體上的兩個編輯框用于輸入用戶名和密碼,且不能為空,具有一定的驗證功能,兩 個按鈕分別實現登錄和退出系統功能。驗證用戶名和密碼,原理是將操作員輸入的用戶名 和密碼與保存在操作員字典表ZD_CZY中的用戶名和密碼進行對比,若信息完全一致,則 該操作員為合法用戶,否則為非法用戶。
    單擊“確定”按鈕的程序代碼如下:
    private void btnOK_Click(object sender, EventArgs e)
    {
    try
    {
    string username = UserName.Text.Trim(); string password = PWD.Text.Trim(); if (username == "")
    {
    MessageBox.Show(”請輸入賬號! ”); UserName.Focus();
    return;
    }
    if (password == "")
    {
    MessageBox.Show("請輸入密碼! ”);
    PWD.Focus();
    return;
    }
    Object o = NetLab.DBUtility.DbHelperSQL.GetSingle("SELECT ID FROM
    ZD_CZY WHERE DM='" + username + "' and MM='" + password + "'", null);
    if (o != null)
    {
    int id = int.Parse(o.ToString());
    //設置全局常量
    //操作員相關
    czModel = czBll.GetModel(id);
    Hospital.Common.Constant.ID = czModel.ID; Hospital.Common.Constant.XM = czModel.XM; Hospital.Common.Constant.DM = czModel.DM; Hospital.Common.Constant.KS = czModel.KSMC;
    //系統參數
    xtModel = xtBll.GetModel(1);
    Hospital.Common.Constant.GHF = xtModel.GHF;
    Hospital.Common.Constant.YJTS = xtModel.YJTS; Hospital.Common.Constant.ZDKC = xtModel.ZDKC; //系統參數(醫師庫存差額) Hospital.Common.Constant.YSKCCE = xtModel.YSKCCE;
    //權限
    qxModel = qxBll.GetModel(id);
    Hospital.Common.Constant.MZGL = qxModel.MZGL; Hospital.Common.Constant.YFGL = qxModel.YFGL; Hospital.Common.Constant.YKGL = qxModel.YKGL; Hospital.Common.Constant.ZHCX = qxModel.ZHCX; Hospital.Common.Constant.XGMM = qxModel.XGMM; Hospital.Common.Constant.XTGL = qxModel.XTGL; Hospital.Common.Constant.YKT =qxModel.YKT; this.Visible = false;
    ContainerForm cf = new ContainerForm();
    cf.ShowDialog();
    }
    else
    MessageBox.Show("驗證身份失敗!請重新輸入!");
    return;
    }
    }
    catch { MessageBox.Show("驗證身份失敗!請重新輸入!");
    return;
    }
    }
    4.3.2系統主界面設計
    本系統的功能界面是一個MDI窗體,包含五部分:最上面是標題欄,顯示系統的名稱; 標題欄的下面是菜單欄,顯示系統的主功能模塊;菜單欄的下面是菜單快捷方式,單擊每 個菜單項會啟動對應的功能窗體,并在子功能區顯示;中間是子功能區,顯示系統的子功 能界面;窗口最下面是狀態欄,顯示系統的登錄信息。
     
    圖 4-16 子系統主界面 菜單項“本部門診掛號”的單擊事件代碼如下: private void 門診掛號 ToolStripMenuItem_Click(object sender, EventArgs e) {
    if (BBGH.IsDisposed)
    {
    BBGH = new Hospital.MZ.GH(true);
    }
    ShowSubForm(BBGH, "患者掛號");
    BBGH.Focus();
    } 其他菜單項的單擊事件代碼與此大致相同,這里不再贅述。 藥房和藥庫中如果存在過期失效或數量不足的藥品,提示信息會在系統的主界面顯
    示,提醒藥房和藥庫的管理員盡快核查庫房藥品。實現代碼如下:
    private void showInfo()
    {
    try
    {
    int yjts = Common.Constant.YJTS;
    DateTime dt = DateTime.Now;
    DateTime dt2 = dt.AddDays(yjts);
    //藥庫、庫存
    int flag1 = NetLab.DBUtility.DbHelperSQL.Query("SELECT * FROM
    V_YKKC where SJKC<=" + Common.Constant.ZDKC).Tables[0].Rows.Count; //藥庫、失效日期
    int flag2 = NetLab.DBUtility.DbHelperSQL.Query("SELECT * FROM
    V_YKKC where SXRQ<='" + dt2 + "'").Tables[0].Rows.Count;
    //藥房、庫存
    int flag3 = NetLab.DBUtility.DbHelperSQL.Query("SELECT * FROM
    V_YFKC where SJKC<=" Common.Constant.ZDKC).Tables[0].Rows.Count; //藥房、失效日期
    int flag4 = NetLab.DBUtility.DbHelperSQL.Query("SELECT * FROM V_YFKC where SXRQ<='" + dt2 + "'").Tables[0].Rows.Count; bool isYK = flag1 > 0 || flag2 > 0; bool isYF = flag3 > 0 || flag4 > 0; string msgYK = ""; string msgYF = ""; if (isYK)
    {
    msgYK = "藥庫中有即將失效藥品、庫存不足藥品,請注意查看。
    }
    if (isYF)
    {
    msgYF = "藥房中有即將失效藥品、庫存不足藥品,請注意查看。";
    }
    Common.Alarm form = new Common.Alarm(msgYK, msgYF); form.HeightMax = 100;//窗體滾動的高度 form.WidthMax = 400;//窗體滾動的寬度 form.ScrollShow();
    }
    catch { }
    }
    4.4系統劃分和子功能模塊設計
    我們項目組根據學校醫院的部門設置和業務流程,將本系統劃分為六個子功能系統進 行設計與開發,包括門診管理子系統、藥房管理子系統、藥庫管理子系統、綜合查詢子系 統、系統管理子系統、一卡通退費管理子系統和修改密碼子系統。每個功能子系統根據部 門職能和用戶需求,又劃分為相應的功能模塊進行設計與開發。其中門診管理子系統包括: 門診掛號、醫師門診、病房門診、劃價收費等四個功能模塊,藥房管理子系統包括:入藥 提請、藥房發藥、藥房出藥、藥房庫存等四個功能模塊,藥庫管理子系統包括:提藥批復、 藥庫入藥、藥庫出藥、藥庫庫存等四個功能模塊,綜合查詢子系統包括:門診收費統計、 藥庫出入記錄、藥房出入記錄等三個功能模塊,系統管理子系統包括:藥品字典、項目字 典、科室設置、醫師字典、出入庫字典、出入房字典、操作員字典、患者類別字典、系統 參數設置等九個功能模塊。如下圖所示:
     
     
     
    4.4.1門診管理子系統
    門診管理子系統包括門診掛號、醫師門診、病房門診和劃價收費等功能模塊。遵循“一 切以病人為服務中心”的管理原則,針對患者就診環節,使患者掛號、就診、項目檢查、藥 品和項目繳費這一系列活動在門診管理子系統中形成一個整體。患者通過門診掛號模塊掛 號成功后,根據自身的病情需要選擇醫師門診或病房門診模塊進行就診,醫師對患者的病 情診斷后,選擇藥品或項目,書寫診斷結果并開出處方,患者持處方到劃價收費模塊進行 藥品和項目繳費。
    4.4.2藥房管理子系統
    根據藥品出入藥房的流程,藥房管理子系統劃分為入藥提請、藥房發藥、藥房出藥和 藥房庫存等四個功能模塊,藥房管理員通過藥房管理子系統可以實現藥房管理。藥房中如 果存在藥品數量不足的情況,藥房管理員通過入藥提請模塊向藥庫發出提藥申請,藥庫管 理子系統中開發提藥批復模塊對應此功能,藥庫同意藥房提藥請求后,由藥庫出藥模塊發 放藥品,藥房中藥品的數量得到相應增加。
    藥房發藥模塊是針對患者拿藥設計的,此模塊可記錄患者的基本信息和領取的藥品信 息。藥房出藥模塊記錄了藥品流出藥房的信息,包括藥品基本信息、藥品去向和出藥類型, 如個人提藥、藥房返回藥庫等。藥房庫存模塊管理藥房中藥品的庫存信息,比如盤點藥品 數量,針對數量不足的藥品及時向藥庫申請提藥,隱藏藥品功能可在醫師門診和病房門診 模塊,不顯示此類藥品的信息。
    4.4.3藥庫管理子系統
    藥房中的藥品是由藥庫發放的,因此藥庫管理子系統的設計應對應藥房管理子系統的 功能模塊,包括提藥批復、藥庫入藥、藥庫出藥和藥庫庫存等四個功能模塊,藥庫管理員 通過藥庫管理子系統來管理藥庫中的藥品。提藥批復模塊對應藥房管理中的入藥提請模 塊,對藥房發過來的提藥申請進行批復,如果同意藥房提藥,藥庫出藥模塊會發放相應的 藥品給藥房。此功能模塊可以顯示提藥的信息,既可以單條批復藥品申請也可以一次性批 復全部藥品申請。
    藥庫管理員通過藥庫入藥模塊記錄藥品進入藥庫的信息,包括藥品的基本信息、藥品 來源以及入庫類型,比如系統初始、采購入庫和藥房返回等。藥庫出藥模塊和藥房管理中 的藥房出藥模塊功能相似,出庫類型略有不同,包括公益活動和返回藥房等。藥庫庫存模 塊和藥房管理中的藥房庫存模塊功能相似,此模塊可查看即將過期和數量不足的藥品,以 便對藥品管理和及時補充,庫存藥品列表中的藥品信息可生成 EXCEL 表格,方便藥庫管 理員對藥品的庫存信息進行記錄并存檔。
    4.4.4綜合查詢子系統
    綜合查詢子系統包括門診收費統計、藥庫出入記錄和藥房出入記錄等三個功能模塊, 通過綜合查詢子系統,系統管理員可以查看患者繳費的信息、藥房中藥品出入信息和藥庫 中藥品出入信息。在門診收費統計模塊,通過輸入患者姓名、醫師姓名或收費日期,既可 以查詢某一患者繳費的詳細信息,也可以查看全部患者繳費的詳細信息。在藥房出入記錄 模塊,通過輸入藥品出入藥房的方式、出入類型或出入日期,既可以查看流入或流出藥房 的某一種藥品信息,也可以查看全部藥品出入藥房的信息。藥庫出入記錄模塊和藥房出入 記錄模塊功能相似,可以查看藥品流入或流出藥庫的詳細信息。
    4.4.5綜合管理子系統
    綜合管理子系統包括藥品字典、項目字典、科室設置、醫師字典、出入房字典、出入 庫字典、操作員字典、患者類別字典和系統參數設置等九個功能模塊,系統管理員通過綜 合管理子系統對醫院的基本信息進行管理。藥品字典模塊管理藥品的基本信息,可以對藥 品信息進行增加、修改和刪除等操作。藥品字典模塊優化了其他功能模塊在選擇藥品時的 使用,比如醫師門診和病房門診,在選擇藥品時不需要輸入藥品的信息,只需要在藥品代 碼編輯框中輸入或選擇某一藥品代碼,下面的編輯框會自動顯示此藥品的信息。項目字典 模塊和藥品字典模塊功能相似,可增加、修改和刪除項目信息,優化了其他功能模塊在選 擇項目時的使用。
    科室設置模塊的功能和藥品字典、項目字典模塊的功能相似,系統管理員通過此模塊 可以增加、修改和刪除醫院的科室信息。醫師字典模塊管理醫師的基本信息,可通過此模 塊進行增加、修改和刪除操作。出入庫字典模塊可以對藥品出入藥庫的類型進行增加、修 改和刪除操作,并在列表中顯示藥品出入類型的信息。出入房字典和出入庫字典模塊功能相 似,記錄和管理藥品出入藥房和藥庫的信息。操作員字典模塊實現操作員基本信息的管理, 如操作員姓名、登錄的用戶名和密碼以及隸屬科室等,可以對其進行增加、修改和刪除操 作,此外,通過此模塊可以對操作員的操作權限進行設置。患者類型字典模塊管理患者的 基本信息,通過此模塊可以對其進行增加、修改和刪除等操作。系統參數設置界面可以對 系統的基本參數,如藥品最低庫存、預警天數、醫師庫存差額和掛號費等進行設置。
    4.4.6一卡通退費管理子系統
    一卡通退費管理子系統是針對持校園一卡通進行刷卡繳費的患者設計的。如果存在患 者繳費成功后,退掉某一藥品或項目的情形,系統管理員在一卡通退費管理子系統執行退 費操作并開出退費憑據,患者持退費憑據到一卡通管理中心領取相應金額。
    4.5 本章小結
    本章主要從系統的整體平臺結構設計、數據庫設計、系統界面設計以及系統的各功能 模塊設計等四個方面分別闡述了本課題在設計階段完成的工作。
    第五章 學校醫院信息管理系統的實現
    我們項目組參照醫院信息系統的功能規范和系統的設計文檔,完成了學校醫院信息管 理系統的編碼工作。本系統由校本部和長清兩個校區使用,每個校區配置獨立的藥房,但 共用一個藥庫,并且對系統的功能需求一致,基于以上分析,我們項目組開發了一套功能 完善的學校醫院信息管理系統,包含兩個藥房,供兩個校區獨立操作,不僅滿足兩個校區 的系統需求,還大大節省了時間、人力和物力。為了加強系統的安全性,在本系統中增加 了權限認證功能,通過權限認證方式限制兩個校區對系統的操作。用戶名和密碼代表不同 的權限,系統管理員通過分配用戶名和密碼進行權限認證,使得登錄用戶只能操作其權限 下的功能模塊。
    本章主要針對系統的功能實現進行闡述,首先介紹了系統的業務流程,為了加強高校 信息化建設,我們項目組提出了將校園一卡通系統與學校醫院信息管理系統進行集成的設 計思想,通過對校園一卡通系統的詳細分析,實現了兩個系統的集成,本章詳細論述了系 統的集成設置,以及集成過程中數據不一致的解決方法。門診管理模塊和一卡通退費管理 模塊體現了兩個系統集成后,所應具有的新功能,作為本系統具有代表性的功能模塊,對 其實現過程進行了詳細說明。
    5.1 系統業務流程
    我們項目組研發的學校醫院信息管理系統是一套自成體系能夠獨立運行的信息化管 理系統,本系統不但能夠滿足醫院各部門的需求,同時也適用于醫院具體數據的管理工作。 系統需要實現的主要目標是:整體化的設計、共享化的數據、相對獨立的業務處理、簡便 靈活的操作和友好的交互界面。校醫院各個部門可以通過本系統及時掌握各環節的工作情 況,方便自身工作高效展開。學校醫院信息管理系統主要由下圖所示業務流程組成,操作 員輸入用戶名和密碼,登錄成功后根據權限加載子系統,即可進入其權限下的功能模塊。
     
     
    圖 5-1 系統的基本業務流程
     
    5.2門診管理的功能實現
    我們項目組根據門診部門的機構設置和應用需求,將門診管理子系統劃分為門診掛 號、醫師門診、病房門診和劃價收費等四個模塊進行開發。患者通過門診掛號模塊掛號成 功后,根據病情需要選擇醫師門診或病房門診模塊就診,醫師對患者的病情診斷后,選擇 藥品和項目,書寫診斷結果并開出處方,患者持處方到劃價收費模塊進行藥品和項目繳費, 繳費成功后持收費發票領取藥品或項目檢查。
     
    圖 5-2 門診掛號界面
     
    門診掛號模塊支持患者使用校園一卡通掛號和現金掛號兩種掛號方式,通過點擊“讀 卡”按鈕,讀取一卡通中患者的基本信息,會在左側相應的編輯框中顯示。持卡人的基本信 息保存在賬戶信息包AccountMsg中,通過調用TerminalControl類的TA_GetCardInfo()方 法可以獲得 AccountMsg 中的信息。點擊“收費”按鈕可對患者收取掛號費,對刷卡患者收 取掛號費的交易信息保存在消費信息包 CardConsume 中,通過調用 TerminalControl 類的 TA_Consume()方法,可以扣除刷卡患者的掛號費用,并需要修改消費信息包中賬戶余額 CardBalance 的值。門診掛號界面的右側患者列表中會記錄患者掛號的信息,通過此列表使 得患者掛號信息一目了然。
     
    圖 5-3 現金掛號界面
     
    門診掛號模塊也支持現金繳費功能,此功能主要是針對未持卡的患者,通過輸入患者 的基本信息,選擇患者就診的門診類型,輸入實付金額,系統會自動計算找零金額。為了 37 
    方便管理和提高數據的可靠性,我們將現金繳費的患者類型設置為自費類型,患者賬號的 編輯框具有一定的驗證功能,輸入值必須是阿拉伯數字。無論刷卡患者還是現金繳費患者, 掛號成功后,掛號信息會記錄到患者類型表ZD_HZLX、處方信息表CFXX和收費記賬表 SFJZ 中。
     
    圖 5-4 醫師門診界面
     
    醫生通過醫師門診功能模塊對患者進行診治,在此界面上醫生可以查看患者的基本信 息,對患者的病情診斷后,選擇相應的藥品和項目,書寫診斷結果并開出處方。此界面由 五部分組成,左側是添加項目功能界面,項目代碼控件使用的是 DevExpress(Devloper Express 的縮寫,是一款功能強大、易于使用的應用于界面開發的控件)下的 GridLookUpEdit 控件,此控件的數據源是項目字典表ZD_XM,醫師只要輸入項目代碼,下面的編輯框中 會自動顯示此項目的相應信息。點擊“添加項目”按鈕,添加的項目會出現在處方項目列表 中,同時會把項目言息儲存到處方項目表CFXM中。點擊“刪除項目”按鈕可以去除已開出 但未開方的項目。界面右側是添加藥品功能界面,藥品代碼控件和項目代碼控件相同,其 數據源是藥房庫存視圖V_YFKC,V_YFKC是藥房庫存表YFKC、藥庫庫存表YKKC和 藥品字典表 ZD_YP 三表的綜合。醫師輸入藥品代碼,下面的編輯框中會自動顯示該藥品 的相應信息。點擊“添加藥品”按鈕,添加的藥品會出現在處方藥品列表中,同時會把藥品 信息儲存到處方藥品表CFYP中。點擊“刪除藥品”按鈕,會對已開出但未開方的藥品進行 刪除。
    醫師門診界面中間的患者信息列表,顯示掛號成功并來醫師門診就診的患者信息,只 有選擇某行患者信息,才能對此患者執行添加藥品和項目操作。醫師對患者開出處方之前, 需要填寫診斷結果,點擊工具欄中的“開出處方”按鈕,可以自動加載處方模板,并執行打 印操作。點擊工具欄中的“轉去病房門診”按鈕,可啟動病房門診模塊。
     
     
    圖 5-5 病房門診界面
     
    病房的醫護人員通過病房門診功能模塊對患者進行診治并開出項目和藥品,操作流程 和醫師門診一致。此外,界面的布局也和醫師門診界面一致,左側是添加項目功能界面, 添加的項目會在處方項目列表中顯示。右側是添加藥品功能界面,添加的藥品會在處方藥 品列表中顯示,中間是患者信息列表,顯示掛號成功并來病房門診就診的患者信息。界面 的整體布局、控件的使用以及實現的功能和醫師門診一樣,這里不再贅述。
     
    圖 5-6 劃價收費界面
     
    劃價收費模塊主要針對醫師門診和病房門診對患者開出的項目和藥品進行劃價收費, 既支持一卡通繳費方式也支持現金繳費方式。此界面由四個部分組成,界面右側的上方是 患者信息列表,顯示在醫師門診和病房門診就診的患者信息,下方左側是處方藥品列表, 顯示醫師門診和病房門診對患者開出的藥品信息,包括藥品名稱、單價、數量、自費比例 等,右側是處方項目列表,顯示對患者開出的項目信息。
    界面左側是劃價收費功能界面,選中患者列表中未繳費的某一行信息,點擊“劃價”按 鈕,編輯框中會自動顯示需要劃價的信息,點擊“刷卡扣費”按鈕,可以對刷卡患者扣除藥 品費和項目費。交易信息保存在消費信息包 CardConsume 中,通過調用 TerminalControl 類的TA_Consume()方法,在患者卡中扣除相應的費用,并修改消費信息包中的賬戶余額 CardBalance 的值。劃價收費界面工具欄中的退費管理功能和一卡通退費管理功能一樣, 我們會在下面進行詳細介紹。門診管理員對患者的藥品和項目劃價收費成功后,這些信息 會保存在收費記賬表SFJZ中,為醫院的賬目匯總提供參考。
    5.3一卡通退費管理的功能實現
    一卡通退費管理模塊是針對持有校園一卡通的患者進行刷卡繳費設計的。如果存在患 者刷卡繳費成功后,退掉某一藥品或項目的情形,系統管理員在一卡通退費管理子系統執 行退費操作并開出退費憑據,患者持退費憑據到一卡通管理處領取相應金額。
     
    圖 5-7 一卡通退費管理界面
     
    一卡通退費管理模塊的界面由三部分組成,點擊“刷卡”按鈕,讀卡器讀取持卡人的信 息,持卡人的信息保存在賬戶信息包 AccountMsg 中,通過調用 TerminalControl 類的 TA_GetCardInfo()方法讀取持卡人信息。本模塊只讀取持卡人的賬號和姓名,分別顯示在患 者賬號和患者姓名的文本框中。界面下方的列表顯示進行退費的患者信息,根據患者賬號 和姓名,在列表中選擇相應的患者信息,點擊“退費”按鈕,即可退費。由于一卡通管理處 不允許醫院工作人員直接把錢返回到卡中,醫院收費處只能開具退費憑據,需要持卡人到 一卡通管理處辦理退費業務。如果是現金繳費的患者,醫院收費處直接把現金返還給患者。
    點擊“刷卡”按鈕實現代碼如下:
    private void toolStripButton2_Click(object sender, EventArgs e)
    {
    try
    {
    string ZH;
    string XM;
    AccountMsg am = new AccountMsg();
    bool flg = Hospital.YKT.TerminalControl.TA_GetCardInfo(ref am);
    if (flg)
    {
    ZH = am.AccountNo.ToString();
    XM = am.Name;
    MessageBox.Show(” 讀卡成功!姓名為:"+XM+",賬號為:"+ZH);
    }
    else
    {
    MessageBox. Show("讀卡失敗,請重試!"); return;
    }
    tbHZZH.Text = ZH;
    tbHZXM.Text = XM;
    }
    catch
    {
    MessageBox.Show(Common.Constant.DefeatMessage);
    }
    }
    5.4校園一卡通與系統的集成
    校園一卡通系統是指基于校園網,以電子和信息技術為手段,集身份識別、校務管理 以及各項校園服務為一體的系統。應用校園一卡通系統,可以形成一個跨越平臺和數據庫, 能夠自發展的數字化校園應用平臺,目前國內外許多高校在其校園范圍內推出了各種基于 校園一卡通系統的信息服務體系,如教務系統、圖書管理系統、門禁系統和校園內各種消 費系統等[15]。
    本系統和校園一卡通第三方服務器建立連接,在測試和運行方面需要進行的必要設 置:
    (1)運行第三方代理sios。sios是脫機流水狀態代理服務器監測工具。
    (2)增加系統代碼syscode,這個系統代碼在TA_init3()中需要用到。步驟:右擊sios— 子系統維護—增加子系統代碼—退出。
    (3)設置商戶和終端編號對應關系,即商戶和 TerminalNo 的對應關系,這個終端編 號在TA_init3()需要用到。步驟:右擊sios一商戶設置一設置商戶一存盤一退出。
    (4)退出sios,重新啟動sios。
     
    第三方使用的主動態庫是AIO_API.dll,其他都是依附動態庫,包括AIONet.dll、
    CardInterfaceDll.dll 、 CCardLibEx.dll 、 ReadCardUSB.dll 、 t_comm.dll 、 USB_DEV.dll 和
    wdcrwv.dll 等。其中 ReadCardUSB.dll 和 USB_DEV.dll 是讀卡器的動態庫,本系統使用 117 讀卡器。如下圖所示:
    主輸出來自Hepital (活動)
    AIO_API. dll
    AIO_API. h
    AIO_API. ini AIO_API. lib AlLiNnt. dll
    CardinterfaugDlL dll CardinterfaugDlL ini
    CCar.lLibEx. dll
    Cfg.h confi g. ini
    DevExpress.Locali rati onCHS libKml2. dll msiexec, exe plus, i co property. confi g ReadCardCfg. ini ReadCardUSB. dll t_comm. dll
    TerminalConfi g. ini USBJiEV. dll wdcrwv. dll
    DLL的英文全名是Dynamic Link Library,意為動態鏈接庫,可供多個程序同時使用 的代碼和數據的庫。在Windows操作系統中,許多應用程序不是完整的可執行文件,而是 比較獨立的動態鏈接庫,即DLL文件。當執行某一程序時,相應的DLL文件被調用。一 個應用程序可以調用多個DLL文件,一個DLL文件也可以被多個應用程序共同調用,因 此可以減少磁盤和物理內存中加載代碼的重復量,加快程序在前臺和Windows系統中運行 的速度,提高工作效率。通過調用DLL文件,程序可以實現模塊化,由于模塊的獨立性, 便于將更新應用到模塊中,而不影響其他模塊。
    AIO_API.dll文件中的庫函數是由C++語言編寫的,本系統采用Visual C#編程語言進 行開發,由于C#語言不能直接調用C++庫,因此本系統項目文件中的程序代碼不能直接調 用AIO_API.dll文件中的庫函數,只能通過.NET提供的互操作服務對動態鏈接庫進行重新 封裝后才能使用。對第三方API的封裝包括函數的封裝以及數據結構的轉換,最終為本系 統提供可以直接調用的方法和數據結構。
     
     
    校園一卡通功能在本系統中的應用主要體現在門診管理子系統中的門診掛號和劃價 收費模塊,門診掛號模塊通過讀卡器讀取患者的基本信息以及收取掛號費,劃價收費模塊 是患者通過刷卡方式對所購藥品和檢查項目進行繳費。另一個重要應用是通過刷卡方式進 行繳費的患者,可以退回所購藥品和項目,系統管理員在一卡通退費管理模塊核查患者信 息,然后退還相應金額。
    我們項目組在系統開發過程中,針對以上功能編寫了兩個文件,Ivoke.cs文件和 TerminalControl.cs 文件。Ivoke.cs 中包含 Ivoke 類、AccountMsg 和 CardConsume,是對一 卡通第三方API中數據結構的轉換。Ivoke類是用C#語言來重新定義AIO_API.dll文件中 的庫函數,只是一些接口,具體的方法實現在AIO_API.dll中。AccountMsg是賬戶信息包, 里面包含持卡人的基本信息,比如卡號、賬號、賬戶姓名、學號、性別、身份證號、現金 余額、卡類型、消費密碼等。CardConsume是消費信息包,記錄持卡人的消費信息,包括 卡號、賬號、財務類型、卡余額、交易額、流水號等。TerminalControl.cs文件中只有 TerminalControl 類,里面包含一系列方法,包括測試第三方庫的網絡連通性、初始化第三 方庫、初始化讀卡器、讀持卡人詳細信息、消費、退費等,用于實現本系統對一卡通第三 方服務器的操作功能。其中調用TA_Init3()函數對一卡通第三方服務器進行初始化,函數參 數中的終端編號需要填寫實際的第三方代理設置的終端編號,并且根據終端編號返回的第 三方系統中的最大流水號,以后與消費相關的交易(比如消費、退費和繳費)的流水號都 需要在這個基礎上累加,如果涉及到關于消費(如消費、退費和繳費)的交易,需要填寫 終端編號的,其終端編號需要在第三方代理sios端分配。
    5.5本章小結
    本章主要對學校醫院信息管理系統的實現過程進行說明,首先介紹了系統的業務流 程,本系統的創新之處是與校園一卡通系統的集成,集成后的功能主要體現在門診管理模 塊和一卡通退費管理模塊,因而對這兩個具有代表性的模塊在功能實現上進行了詳細介 紹,并在本章最后論述了校園一卡通與本系統的集成實現,解決了兩個系統集成過程數據 不一致問題。
    第六章 總結與展望
    6.1 總結
    由于計算機技術與網絡技術等現代化技術的開發與應用,信息化建設逐步滲入到社會 各個領域,成為當今世界發展的大趨勢。醫院信息化建設加強了部門之間的信息交流和數 據共享,實現了辦公自動化、就醫流程最優化,進而在管理模式和醫療服務上發生了重大 變革,全面提升了醫院的社會地位和形象。
    本論文以“學校醫院信息管理系統的設計和開發”為背景,結合所學知識和開發經驗, 遵循軟件開發的工程思想,從系統的需求分析到設計再到實現,最終開發出基于C/S三層 架構模式的學校醫院信息管理系統,同時對本系統的開發過程和應用技術進行了深入研 究。
    首先,本文通過研究醫院信息管理系統的開發背景和意義,對該課題的主要工作和創 新點進行了詳細說明。從醫院信息系統的角度,闡述了它的構成和國內外研究現狀,分析 了我國醫療信息系統中存在的問題,同時闡明了該課題研究的實用價值。
    其次,為方便系統設計與開發工作順利展開,我們項目組成員嚴格按照需求分析的思 想和方法,完成了需求分析任務,確定了系統的功能需求、非功能需求以及開發環境和運 行環境的軟硬件需求,并采用 UML 技術,定義了系統的用例圖和協作圖,進而確定了系 統的功能模型。此外,詳細介紹了本系統在需求分析、設計和開發階段使用的關鍵技術, 如系統的底層環境、Microsoft Visio繪圖工具、客戶端開發工具和數據庫技術等。
    最后,綜合考慮校醫院的系統需求,分析醫院信息系統的信息構成和類別,對系統進 行了詳細設計,包括系統整體的架構設計、數據庫設計、界面設計以及各功能模塊的設計, 之后在本文實現部分具體論述了系統中具有代表性的功能模塊以及校園一卡通系統與本 系統的集成實現。
    6.2 展望
    計算機網絡與通信技術的迅速發展與普及,促使整個信息管理的面貌發生了根本性改 變,驅使以單個計算機為中心過渡到以網絡為中心,為單位部門之間的信息交流和資源共 享提供了極大方便。為適應社會發展趨勢和醫院現代化管理要求,醫院迫切需要建立具有 自己特色的內部專用網絡,加強各部門之間以及與社會醫療機構之間的信息通訊與共享。 信息技術不僅能為醫院帶來巨大的經濟效益,還能提高醫院的社會影響,樹立新的醫院形 象,為院領導的科學決策、日常辦公和信息服務提供科學、高效、安全的現代化手段。醫 院信息系統包括臨床信息系統、管理信息系統和辦公自動化系統,我們項目組研發的學校 醫院信息管理系統實現了醫院管理信息化。后期的研究內容主要面向臨床管理信息化和醫 療信息服務辦公自動化,使臨床業務和管理工作流覆蓋全院各個業務環節,建設全面集成
    化的數字型醫院,這也是當今世界醫院信息化建設的任務和目標。
    參考文獻
    [1] 王晟.Visual C# . NET數據庫開發經典案例分析[M],北京清華大學:清華大學出版社, 2006,363-413.
    [2] 黎曉東,李華飚.精通C#編程[M],北京:科學出版社,2003, 183-366.
    [3] 衛生部.醫院信息系統基本功能規范[S],北京:衛生部信息化辦公室,2002.
    [4] 楊海龍.醫院信息系統的門診掛號子系統的設計與實現[D],工程碩士,北京郵電大學軟件 學院,2011.
    [5] 董福貴,李存斌.SQL Server 2005數據庫簡明教程[M],北京:電子工業出版社,2006, 63-163.
    [6] 陳紹鈞.新編SQL Server2005數據庫管理入門與提高[M],北京:人民郵電出版社,2008, 9-10.
    [7] David M. Kroenke,施伯樂等譯.數據庫處理[M],北京:電子工業出版社,2001, 29-40.
    [8] 吳財軍.C#經典范例50講[M],北京:北京希望電子出版社,2003,143-192.
    [9] 王磊•醫療信息系統相關安全技術研究與實現[D],碩士,內蒙古科技大學,2011.
    [10] 林昕.電子病歷系統設計與實現[D],工程碩士,電子科技大學,2011.
    [11] 王淑容,劉平.醫院管理信息系統的設計與實現[J],四川輕化工學院學報,2002, 15(2):
    20-25.
    [12] 毛俊華.淺談醫院管理信息[C/OL].http://www.studa.net/yixue/120430/11265329.html, 2012 -04-03.
    [13] 黃鶴.醫院信息管理系統中的數據技術[J],計算機與信息技術,2009,3(2):15-19.
    [14] 段智敏,王如龍,孫美青.基于一卡通的數字化校園資源整合研究與實現[J],計算機工程 與科學,2008,30(1):8-11.
    [15] 趙麗娟,黃煙波,劉海韜.基于校園一卡通系統的郵件系統自主注冊研究[J],廣西大學學 報,2011,36(1):22-26.
    [16 ]竇小磊,程浩.校園一卡通系統與圖書館管理系統的集成設計與實現J],鄭州經濟管理干 部學院學報,2007,22(4):99-93.
    [17] 趙曉玲.校園一卡通系統與ILAS系統的整合應用[J],現代圖書情報技術,2004, 6:32-33.
    [18] 李德奇,羅雅麗,何穎.C#程序設計[M],北京:科學出版社,2005, 130-160.
    [19] Jeffrey Richter. Applied Microsoft . NET Framework Programming[M],北京:世界圖書出版 社,2002,112-159.
    [20] 周文瓊,王樂球,等.數據庫應用與開發教程ADO. NET+SQL Server[M],北京:中國鐵道 出版社,2009,10-38.
    [21] 陳紹鈞.新編SQL Server 2005數據庫管理人門與提高[M],北京:人民郵電出版社,2008,
    9-20.
    [22] 王輝,張大治.Visual C#程序設計實用教程[M],北京:清華大學出版社,2007,31-55.
    [23] 梁爽..NET框架程序設計[M],北京:清華大學出版社,2010, 13-35.
    [24] 宗梅,馬小平.基于.NET的三層Client/Server結構及其應用[J],計算機工程與設計,2005,
    12(4):39-43.
    [25] 韓雙霞.Client/Server模型數據實現技術[J],微型電腦應用,2006, 10(3):19-23.
    [26] 黃嘉輝.C# .NET網絡程序設計[M],北京:科學出版社,2004, 147-165.
    [27] Adrian Turtschi. C# . NET Web 開發指南(美)[M],北京:機械工業出版社,2003, 25-63.
    [28] 張躍廷,韓陽,張宏宇.C#數據庫系統開發案例精選[M],北京:人民郵電出版社,2007,
    210-260.
    [29]JD Engquist.Client-server computer system and method utilizing a local client disk drive as a data cache[J],US Patent 5802297,1998,150-185.
    [30]TM Connolly,CE Begg.Database systemsa:practical approach to design, implementation, and management[M],Addison-Wesley Longman,2005,39-56.
    [31]Judith S. Bowman, Sandra L. Emerson, Marcy Darmovsky. SQL 實用參考手冊[M],北京:清 華大學出版社,2002,158-175.
    [32]楊文龍,古天龍.軟件工程[M],北京:電子工業出版社,2010, 115-136.
    [33]張海藩.軟件工程導論[M],北京:清華大學出版社,2009, 132-156.
    [34]張海藩,牟永敏.面向對象程序設計實用教程[M],北京:清華大學出版社,2007, 35-69.
    [35]王少峰.面向對象技術UML教程[M],北京:清華大學出版社,2004, 21-53.
    [36]張龍詳.UML與系統分析設計[M],北京:人民郵電出版社,2007, 47-58.
    [37]Braude EJ.Software Engineering-An Object_Oriented Perspective[M],New York:John Wiley &Sons,2001,67-88.
    [38]宗梅,馬小平.基于.NET的三層Client/Server結構及其應用[J],計算機工程與設計, 2005,9(3):26-30.
    [39]韓雙霞.Client/Server模型數據實現技術[J],微型電腦應用,2006,3(2):20-23.
    [40]程秀芳.基于Client/Server模式的物資管理信息系統的開發[J],機械設計與制造,2006, 13(4):33-36.
    [41]彭玲,鄭建彬.基于三層C/S結構的在線簽名認證系統的研究[J],武漢理工大學學報, 2007,5(3):42-45.
    [42]胡迎松,彭利文,池楚兵.基于.NET的Web應用三層結構設計技術[J],計算機工程,2003, 6(4):56-60.
    【本文地址:http://www.bzhlmm.com//guanlilei/gongshangguanli/xixinguanli/5876.html

    上一篇:油井鉆探信息管理系統設計與實現

    下一篇:基于三維GIS的地下管線信息管理 系統研究與實現

    相關標簽: