張磊
?
基于新生兒疾病篩查信息系統設計與實現
張磊
摘 要:隨著我國新生兒疾病篩查信息管理工作的發展,已取得了一些進展,但是仍存在大量手工輸入帶來的數據不準確性。篩查中心的分散性帶來數據服務的異構性和信息共享的不及時性,網絡環境下還存在的數據安全性等現狀。對此設計了一個B/S架構的新生兒疾病篩查系統,通過web協議進行數據的傳輸與用戶的透明操作,并進行了原型系統的開發實現,滿足了新生兒疾病篩查信息化的準確性、及時性與安全性的需求。
關鍵詞:新生兒疾病篩查;B/S架構設計;醫療信息化
新生兒疾病篩查是指在新生兒期對某些危害嚴重的先天性疾病、遺傳疾病進行群體普查,早期診斷、早期治療,以避免發生不可逆的體格和智能發育障礙[1]。隨著我國新生兒疾病篩查信息化管理工作的開展,已取得了一些成就:豐曉霞等[2]提出了健康管理模式是完善新生兒疾病篩查工作流程,明確部門的職責和評價標準,提高新生兒疾病篩查率的保證;秦成君[3]提出通過建立新生兒篩查信息平臺,有效地提高新生兒疾病的工作效率與質量,是管理新生兒疾病篩查的重要手段;朱文斌[4]提出使用B/S結構的新生兒疾病篩查信息管理系統的設計方法,有利于各醫療機構信息共享,行政管理部門的指導與監督。但是依然存在以下不足:一是新生兒疾病篩查信息主要依靠人工錄入,無法避免錄入錯誤帶來的數據不準確性,重復錄入工作給相關部門帶來額外的負擔,影響到后繼可疑陽性新生兒的召回工作;二是新生兒篩查數據是分別存儲在各分中心的服務器上,一般需要人工對相關數據進行上傳,難以實現數據更新的及時性[5],此外各分中心使用不同的軟件系統,由于相關工作開展的程度不同,不同系統關注的數據興趣點也有很大的不同,對數據結構的理解不同造成了數據的異構性,形成了信息孤島現象,難以實現數據的有效集成與共享[6];三是新生兒可疑陽性召回的信息管理工作,仍處于人工管理階段,篩查通知工作仍需要消費大量的人力與物力;四是新生兒疾病篩查工作需要與不同醫療機構進行信息的交流,數據需要在互聯網環境中傳輸,提高數據的安全性,為病人隱私提供保證,是新生兒疾病篩查工作需要考慮的因素。對此,本文設計了一個B/S架構的新生兒疾病篩查信息系統,并進行了原型系統開發實現。該架構屬于一種松散的web架構模式,通過統一的web協議進行相關醫療數據的封裝與傳輸,數據的操作對于用戶來說是透明的,對于新生兒疾病篩查工作信息化的及時性、準確性與安全性,都具有十分重要的意義。
1.1 系統總體架構
系統采取3層B/S架構進行設計,包括數據層、服務層和應用層。
其中,數據層包括:一是HIS基礎數據庫,存儲病人編號、年齡、醫療機構、出生日期、家庭住址等;二是篩查信息庫、存儲病人編號、檢驗時間、收到時間和檢驗結果等;三是其它庫存儲可疑陽性、確診陽性等其它一些補充信息。
服務層包括:一是數據源,數據源提供了數據庫連接池的配置,包括不同數據庫的連接方式與連接數等,通過數據庫連接池的方式,可以提高數據連接的效率;二是數據事務,數據事務是用戶并行操作時對數據隔離級別的一種限定,在運行異常時能及時進行事務的回滾,有益于增強數據的安全性;三是數據映射模式,系統采取對象關系映射模式,可以屏蔽數據查詢邏輯,簡化數據對象的保存與刪除流程,此外針對醫院報表具備大量復雜查詢的特點,系統設計了查詢映射的模式,通過數據庫查詢語句能更靈活地應用數據庫的特殊性能,進行靈活的數據查詢與統計;四是數據持久化對象,通過映射關系將數據進行封裝,屏蔽了數據表結構,數據字段等底層數據結構信息;五是Web服務器,通過使用Web協議進行數據的轉發與分發,用戶通過瀏覽器就可以很方便地進行數據業務的操作,服務層屏蔽了底層的數據物理存儲邏輯,透明了用戶的數據操作方式。
應用層包括:篩查信息系統、查詢信息系統和統計分析系統等,提供了新生兒疾病篩查結果的入庫操作,相關報表的生成與打印,后期的統計與查詢等相關業務操作。系統總體設計如圖1所示:

圖1 系統總體架構圖
1.2 系統功能模塊
新生兒疾病篩查系統包括:數據錄入模塊、查詢統計模塊和報表生成模塊等,如圖2所示:

圖2 系統功能模塊
其中,數據錄入模塊是對新生兒篩查信息進行采集與入庫工作。卡片信息是對病人基本信息的采集,包括標本號、醫療機構編號、母親姓名、孕周、嬰兒性別、出生日期、采血時間、標本收到時間、apgar、電話等;檢驗報告包括:促甲狀腺TSH、苯丙氨酸PHE等檢驗結果值;篩查陽性信息包括:篩查可疑陽性、篩查陽性和確診數等。在信息采集工作中,還需要對標本信息進行審核,對不合格標本進行記錄;入庫工作主要采取人工錄入和電子表格模板導入方式,方便了不同系統平臺間進行數據的對接。
查詢統計模塊包括:一是地市查詢和醫療機構查詢,是對各分中心標本數、合格標本數及篩查可疑性陽性和確診數等工作量的查詢與統計,有按出生日期查詢和按標本收到日期查詢兩種查詢方式;二是完全檔案查詢,是對卡片信息和篩查結果進行完全查詢,查詢方式有按醫療機構編號查詢,按母親姓名模糊查詢和按出生日期查詢。
報表生成模塊包括:一是批量報告,主要是按流水號提供新生兒篩查結果檢驗報告單批量顯示與打印功能;還提供了初檢回報表,包括新生兒篩查性別統計,篩查總數統計,采血時間或出報告時間小于72小時,72小時到7天,大于7天的統計等;二是陽性報告,提供了新生兒可疑性陽性召回通知單、確診陽性報告的顯示與打印功能,并通過Itext生成PDF格式報表,提供了根據病人生日查詢號與標本號在互聯網上查詢病人的檢驗結果的功能。
1.3 數據庫的設計
系統數據包括:用戶表(user),用來記錄用戶登錄的帳號和密碼;醫療機構字典表(dept),用來記錄各醫療機構的編號和名稱;基礎信息表(info),用來記錄新生兒的性別、出生日期、母親姓名、電話、地址等卡片信息;檢驗結果表(tshphe),用來記錄促甲狀腺值,苯丙氨酸值phe,出報告日期等檢驗結果;篩查陽性表(positive),用來記錄可疑陽性,陽性和確診數等統計記錄。字段設計如圖3所示:

圖3 數據表字段設計
其中,檢驗結果表和篩查陽性表中的流水號字段(sd)外鍵關聯于基礎信息表中的流水號字段(sd);基礎信息表中的部門編號字段(deptid)外鍵關聯于部門表中的部門編號字段;
出于安全性的考慮,用戶表中的密碼字段(password)進行加密后存儲在數據庫中。
2.1 開發技術與數據條件
軟件系統采取Java語言進行編程,采取Struts2+Hibernate+Spring+SpringJDBC架構模式進行開發,系統運行在Windows 2003和Apache Tomcat6.0服務器下,采用mysql5.0數據庫進行數據存儲,其數據調用方式,如圖4所示:

圖4 數據流時序圖
客戶端請求一個Action視圖,然后在Struts2中創建一個持久化對象PO,該對象通過調用Hibernate或SpringJDBC的數據訪問對象DAO模板類HibernateTemplate或JDBCT emplate,進行數據庫的操作,該模板類是由Spring架構提供,可以防止數據查詢溢出,很好地保證了數據的安全性。
其中,Struts2通過自身的過濾器就能很方便進行各種請求的攔截并進行相關業務邏輯的處理工作,進行網頁視圖的分發與轉發。Hibernate屬于一種對象關系映射,即將純關系數據庫字段及其操作,映射成PO對象,簡化了數據庫的操作。SpringJDBC屬于一種SQL對象映射[7],將關系數據庫字段映射成PO對象,依然通過SQL操作數據庫,可以靈活利用數據庫的特性,這種設計滿足了醫療機構對數據報表的要求較高,對數據查詢有眾多特殊的要求。Spring 是管理各業務對象的容器,基于約定優于配置的思想,提高了開發的效率,優化系統整體的架構模式。
2.2 系統功能實現
系統提供了篩查數據的錄入、數據統計與分析、報表的生成等功能,如圖5所示:

圖5 數據錄入功能
該模塊提供了基礎數據的提取、錄入功能。提供上一流水號的顯示功能,對于重復的流水號,提醒是否覆蓋功能;對于醫療機構編號,采取A jax實時取得相關的醫療機構列表進行選擇,如圖6所示:

圖6 數據查詢統計功能
數據查詢與統計模塊,對于部份病人,提供了醫療機構名稱、母親姓名和出生日期就可以查詢到相關病人的篩查詳細記錄,母親姓名支持模糊查詢的功能;提供了初檢統計,包括新生兒性別統計、篩查總數統計和按采血時間與出報告時間進行統計,如圖7所示:


圖7 數據報表功能
系統提供了新生兒篩查工作統計報表及新生兒疾病篩查報告單的生成與打印功能,根據出生日期或標本收到日期進行相關工作量的統計;提供了各醫療機構標本數、合格數、不合格數、篩查可疑性陽性、篩查陽性與確診數等功能;提供了新生兒疾病篩查報告單的生成,包括先天性甲低與苯丙酮尿癥篩查值與正常值對照單。
從2012年投入運行至今,系統滿足了新生兒疾病篩查工作實時性與準確性的要求,網絡的查詢報告功能已于今年年底實現。目前,一些基礎信息依然采取手工錄入方式,可以通過相關軟件接口的對接提供數據信息的導入,簡化篩查工作的流程,提高工作效率。此外,還將進一步提高網站訪問性能,提高數據的安全性與查詢統計的效率[8],下一步工作可以嘗試使用Spring Security架構進行安全模塊設計。
參考文獻
[1] 蘇晞,馬麗明,劉海平等. 新生兒篩查信息管理的缺陷與解決方案[J]. 中國婦幼保建,2008(23).
[2] 豐曉霞,田宇等. 實行健康教育網絡管理模式對提高新生兒疾病篩查率的作用研究[J]. 醫院管理,2009(33).
[3] 秦成君. 應用信息平臺管理新生兒疾病篩查[J]. 中國婦幼衛生雜志,2013(1).
[4] 朱文斌. B/S結構新生兒疾病篩查信息管理系統的設計與實現[J]. 中國婦幼衛生雜志,2007(22).
[5] 辛旭武,李韶斌. 基于PHP的體檢網站設計[J]. 中國衛生信息管理,2012(2).
[6] 應桂英,陳文等. 四川省衛生統計數據采集與決策支持系統設計與實現[J]. 中國衛生信息管理,2012(1).
[7] 胡啟敏,薛錦云,鐘林輝. 基于Spring框架的輕量級J2EE架構與應用[J].計算機工程與應用,2008(5).
[8] 曹摯,攀曉玲,孫明. 我區醫院醫療費用數據采集的設計與實現[J]. 中國衛生信息管理雜志,2011(8).
Design and Imp lementation of Newborn Disease Screening Information System
Zhang Lei
(Jiujiang Maternity and Child Care Hospital, Jiujiang 332000, China)
Abstract:With the development of newborn disease screening information management in our country, some progress has been made, but there are still a lot of manual input data inaccuracy. The dispersion of screening center results in the heterogeneous data service and the delayed sharing of information, and the data security situation under the network environment still exist, withal this paper designs a B/S architecture newborn disease screening system. It uses the network protocol to realize the data transmission and user transparent operation, and makes the development of prototype system to meet the accuracy, timeliness and safety requirements of the neonatal disease screening Informatization.
Key words:Neonatal Screening; B/S Architecture Design; Medical Informatization
中圖分類號:TP311
文獻標志碼:A
文章編號:1007-757X(2016)05-0061-04
作者簡介:張磊(1983-),男,九江市婦幼保健院,碩士,軟件設計師,研究方向:Web數據服務,九江,332000
收稿日期:(2016.01.19)