基于pureXML技术的医疗信息系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于pureXML技术的医疗信息系统的设计与实现
摘要研究db2 v9新增的purexml功能,设计与实现了本系统,本系统采用b/s架构,本地医疗信息系统与共享医疗系统采用j2ee开发,共享数据库医疗数据(db2作为数据库)的转换采用cobol或者java语言开发将本地系统的数据转换成xml存储,实现医疗信息的共享。
关键词 db2;purexml;j2ee;ajax;cobol
中图分类号tp393 文献标识码a 文章编号
1674-6708(2010)30-0233-01
1 背景介绍
随着医改方案的提出与网络的普及化,中国医疗信息系统正在飞速的发展,医疗卫生信息系统,医疗保障信息系统,基层医疗环境和区域卫生信息化将是未来医疗信息化投资的重点,特别是区域医疗卫生信息化越来越重要,区域医疗卫生信息化可以由地方卫生行政管理部门牵头,横向整合医疗服务,统一建立社区卫生服务体系或医院集团;同时,大型医院与周边多家基层社区卫生服务机构纵向深入协作,实现双向转诊和医疗信息共享。
区域医疗信息系统实现的基础是临床数据即电子病历的信息集成与共享,因此电子病历的格式,传输与存储都是系统设计与实现的关键部分。
由于缺乏统一的标准,医院信息集成面临着极大的困难,xml作为医疗信息的存储,传输格式有很大的优点,但是传统数据库对xml的
处理具有很大的局限,而db2 v9提供的purexml可以很好的解决诸多难题,基于purexml技术的医疗信息系统就是利用db2 v9新增加的purexml技术,考虑多平台数据库之间的海量医疗信息的数据共享与数据交换问题,能够完美的解决多数据源的数据整合与海量电子信息的传输与查询,更改。
2 系统设计与实现
通过对已经存在的本地医疗信息系统的研究,设计本系统需要的本地医疗信息系统,并且以本地医疗信息系统一种服务为例(如门诊),来设计实验数据,同时设计共享数据库的实现,采用db2 v9的purexml技术存储电子数据, 在系统实现的过程中可以研究purexml有电子病历信息存储传输中的优势。本地医疗信息系统与共享医疗信息系统界面均采用j2ee技术开发,数据从本地医疗信息系统传输到共享医疗信息系统采用java+jdbc方式实现,在共享医疗信息系统,使用cobol或者java语言开发batch作业,可以利用db2 v9提供的purexml技术将本地医疗信息系统传输来的数据进行xml格式的转换与存储,用户(包括医生和患者)可以通过共享医疗信息系统的界面来查询医疗信息,实现医疗信息的共享。
本地医疗信息系统的实现:由于各个医院信息化架构的不同,我们以两个本地医疗信息为例,其中hospital1数据库使用sql server, hospital2数据库使用oracle. 采用ext js框架开发, 可以创建比较美观的表格形式的web页面. 系统可以实现医疗人员的认证登陆,电子病历的生成,修改,保存与查询,同时实现本地医疗
信息系统与共享医疗信息系统的连接,可以在固定时间将本地数据上传到共享数据库。
共享医疗信息系统的实现:不同的本地医院的数据以schema来区别,共享医疗信息系统里存储本地医疗数据的备份,保证数据的完整性。通过db2 v9 purexml提供的多种sql/xml函数,可以方便而快速的将本地医疗数据转换为xml格式,在db2 v9以前,db2并不支持xml格式存储,只能将xml强制转换成clob等大文件方式来存储,这破坏了xml的易传输的特性,v9支持purexml, xml作为一种新加的数据格式可以直接存储,并支持xmlquery与xpath查询。可以使用java或者cobol来实现xml的转换与存储,本文以java实现xml 转换的示例代码如下:
string sql = “select medicalno,diagnosetime from hospital1.patientrecord”;
state = con.createstatement();
rs = state.executequery(sql);
while (rs.next()) {
medicalno = rs.getstring(1);
diagnosetime = rs.getstring(2);
sql1 = “select xmldocument(xmlelement(name
\”medicalrecord\”,xmlelement (name \”medicalno\”, medicalno),”
+ “xmlelement(name \”diagnosetime\”, diagnosetime),”
+”xmlelement(name\”primaryremark\”,primaryremark),”+ “xmlelement(name \”presentmh\”, presentmh),”
+ “xmlelement(name \”checkup\”,
+ “heartrate as \”heartrate\”,”
+ “breathe as \”breathe\”,”
+ “bp as \”bp\”,”
+ “healthcheckremark as \”healthcheckremark\”)),”
+ “xmlelement(name \”laboratorycheck\”, laboratorycheck),”
+ “xmlelement(name \”medicalpre\”,medicalpre),”
+ “xmlelement(name \”epidemic\”, epidemic),”
+ “xmlelement(name \”doctorid\”, doctorid))) from hospital1.patientrecord”
+ “where diagnosetime = current date and medicalno= ‘“+ medicalno
+ “‘ and diagnosetime = ‘“
+ diagnosetime + “‘“;}
示例代码中使用了xmldocument和xmlelement两个db2 v9提供的sql/xml函数,可以方便的将数据库中已经存在的关系型数据转换为xml格式存储。共享数据库还可以实现对共享电子医疗数据的查询,可以通过jdom等方式方便的解析xml,将查询结果显示。
db2 purexml提供了一个可以实现关系数据和xml格式数据共用