XXX公司软件HIS实施人员面试题
CHISC.NET-全国医疗信息化联盟,为全国医疗信息化人员提供最全面的资料下载平台
北京xxx科技有限公司软件实施人员试题(HIS部分)
一、岗位描述:
实施工作是售中的一个重要环节,实施工程师的表现直接影响项目的成败,xxx科技对于软件实施工程师有以下技能要求:
1.计算机基础知识扎实(网络组建,操作系统等)2.熟练掌握公司产品的系统结构与操作3.表达、沟通、应变能力强
4.了解行业发展现状与未来发展趋势
二、基础知识考核:
计算机基础知识:
1、Win201*系统安装步骤?2、Win98系统如何设置局域网?
3、Dos系统下复制D盘下SY_data文件夹下的chianis.mdf文件至E盘的bak文件夹下的命令是什么?4、Dos下停止和启动Sql201*的命令是什么?5、Execl表转换成txt文本并用“,”作为分隔符?6、在VISTA系统下当互联网无法访问时如何设置?7、Windows系列的操作系统都有那些?请列举7种以上8、现有的远程控制软件有那些?请列举3种以上9、Radmin远程控制软件如何安装?
10、查看winxp系统下有那些端口开放的命令是什么?11、最新的winXp系统补丁是什么?
12、在win201*系统中,文件夹Sy_data拥有“administrators,system,user,anyone,guest”等用户的权限,现设置该文件夹只能让新用户“sunyour”与“system”用户拥有该文件权限,如何设置?13、什么是动态域名?
14、现有的品牌计算机有那些(请列举5种以上),你曾经用过那些品牌的计算机?15、什么是服务器?
16、服务器的品牌有那些?请列举3种以上17、苹果机的鼠标有几个按键?18、什么是RAID?19、RAID都有那些规范?20、RAID3的优点是什么?
21、Epson300k打印机无法自定义纸张如何处理?
22、打印机安装完驱动程序后HIS系统无法打印如何处理?23、什么是IE?
24、某医院客户的winxp系统网络邻居访问速度慢,有的计算机网络邻居无法访问,这时应该如何处理?25、局域网内两台电脑,A能PING通B,但B不能PING通A,可能是什么原因?
26、某医院有10台客户端机和1台服务器,要求:所有客户端机可以通过局域网访问服务器,而服务器需要同时连接局域网和互联网;问题:请设计两套方案并且注明需要那些硬件设备?27、如何查看本机MAC地址?
28、请写出标准网络线八根线的颜色排列顺序以及制作Cross-Over线(即无UPlink接口的HUB级连线)的排列顺序。
软件基础知识
1、现有流行数据库都有那些?请列举4种以上2、C/S结构软件都有那些开发工具?请列举3种以上CHISC.NET-全国医疗信息化联盟,为全国医疗信息化人员提供最全面的资料下载平台
3、什么是PACS?4、什么是LIS?4、什么是RIS?
5、HIS系统能接驳那些系统?列举3种以上6、什么是B/S和C/S结构?7、什么是OA?8、什么是ERP?
9、当安装xxx医院管理软件时,在安装服务器端提示安装失败,判断并解决?10、请列举经营医院管理软件的公司5家以上。
业务知识
1、HIS的原英文拼写是什么?
2、我们常说的民营医院的标准名称是什么?3、简述门诊处方要素?4、什么是临时医嘱?5、什么是长期医嘱?6、医院都有那些评定等级?
7、在实施过程中,由于研发时的一个bug出现了严重的错误,导致医院在上线使用时出现了混乱并且医院方表示了不满情绪,这时你将如何解释?
8、假如你是技术支持工程师,你正在为一个重要客户处理问题,如果这个问题不能及时解决,我公司的产品在该地区的销售会受到极大影响.与此同时,另一个电话打进来,某医院系统完全瘫痪,必须及时解决.你将如何解决这两个问题?
数据库基础知识:
1、SQL201*数据库与SQL201*数据库之间的有什么优点与缺点?2、如何设置SQL201*的自动备份?3、压缩SQL201*的数据日志脚本是什么?4、如何解决安装SQL201*挂起无法安装问题?5、如何解决安装完SQL201*后无法远程连接问题?
6、使用SQL语句创建单位人员信息表person字段:人员编号:ps_code姓名:ps_name性别:sex身份证号:id_code出生年月日:birthday年龄:age人员性质(在职,退休,离职):ps_kind所属部门(办公室,销售部,实施部,研发部):office(请设计各字段类型与长度)?
7、使用标准SQL语句查询人员信息表中年龄大于25岁,人员性质为在职的所有人员的姓名与身份证号(person表)?8、删除的所有销售部的人员(person表)?9、查询实施部姓王的人员个数(person表)?
10、将销售部的所有人员性别修改为“女”(person表)?
三、HIS软件考核:
1、请总结并画出xxxHIS门诊部分业务流程图?
2、请画出药品的入出库流程,以及各个部门的关系?3、请叙述xxxHIS药品盘点的步骤;4、请简述xxxHIS系统门诊退方流程;5、HIS操作演示。(实施工程师演示并讲解考官指定模块,考官根据实施工程师表现打分)四、答辩题:(考官向实施工程师提问,考察实施工程师是否回答得体)
五、自我总结:
扩展阅读:HL7医学信息解析及格式转换技术研究
内蒙古科技大学
本科生毕业设计说明书(毕业论文)
题目:HL7医学信息解析及格式转
换技术研究
学生姓名:沈东学号:0867118241专业:电子信息工程班级:信息201*-2班指导教师:张宝华副教授内蒙古科技大学毕业设计说明书(毕业论文)
HL7医学信息解析及格式转换技术研究
摘要
随着人们生活水平的不断提高,人们对医疗与健康的认识进一步增强,特别是在某些突发性传染病的严重冲击下,如H1N1、非典、艾滋病等的严重打击下,有关区域卫生信息交换的需求越来越强。区域卫生信息化建设涉及各医疗卫生单位之间的数据交换和整合,由于很多单位都是自行开发或是软件提供商开的标准,它们并不统一,从而导致了医疗信息交换的难度加大,所以需要一系列数据交换整合标准。
HL7消息解析是将HL7消息字符串解析成为一种抽象数据结构,它是众多医疗信息系统的核心功能之一。在熟悉并理解HL7标准下,掌握HL7两种消息编码格式和规范;实现了HL7医学信息解析及两种编码格式之间的互相转换,即ER7/XML转换。
本设计采用Java语言编程,使用Eclipse集成开发环境,HAPI开源工具包辅助开发,实现解析HL7消息的功能并将HL7两种信息格式编码互相转换,并对它们进行研究具有非常重要的现实意义。
关键词:HL7;信息解析;格式转换;技术研究;
I内蒙古科技大学毕业设计说明书(毕业论文)
TheResearchofHL7MedicalInformationAnalyticalandFormat
ConversionTechnology
Abstract
Withthecontinuousimprovementofpeople"slivingstandards,medicalandhealthawarenessisfurtherenhanced,especiallyunderthesevereimpactofsomesuddeninfectiousdisease,suchasasevereblowtoH1N1,SARS,AIDS,theRegionalHealththegrowingdemandforinformationexchange.Constructionofregionalhealthinformationinvolvingdataexchangeandintegrationbetweenthevarioushealthunits,manyunitsareself-developedsoftwareprovider,openstandards,theyarenotuniform,resultingintheexchangeofmedicalinformationdifficultsoaseriesofdataexchangeintegrationstandardarerequired.
HL7messageparsingtheHL7messagestringparsingasanabstractdatastructure,itisoneofthecorefunctionofthenumberofmedicalinformationsystems.TheresearchisrequiredtobefamiliarwithandunderstandtheHL7standard,masterHL7twomessageencodingformatandstandard;toachievethemutualconversionbetweenHL7medicalinformationanalyticalandtwokindsofencodingformats,ER7formatandXMLformat.
ThisdesignusestheJavaprogramminglanguage,usingtheEclipseintegrateddevelopmentenvironment,theHAPIopensourcetoolkitsupportingdevelopment,andfunctiontoparsetheHL7messageandHL7twotypesofinformationencodedinterchangeable,andresearchhasveryimportantpracticalsignificance.
Keywords:HL7(HealthLevelSeven);InformationAnalysis;FormatConversion;TechnologyResearch;
II内蒙古科技大学毕业设计说明书(毕业论文)
目录
摘要.........................................................................................................................................IAbstract.....................................................................................................................................II第一章引言............................................................................................................................1
1.1研究背景.....................................................................................................................1
1.1.1HL7的发展历史...............................................................................................21.1.2其它一些医疗信息交换标准的介绍..............................................................21.2HL7标准在国内外的应用..........................................................................................3
1.2.1HL7在我国的推广...........................................................................................31.2.2国外的HL7工具包和相关产品.....................................................................41.3论文结构.....................................................................................................................6第二章HL7V2标准................................................................................................................8
2.1HL7...............................................................................................................................8
2.1.1基本概念..........................................................................................................82.1.2数据类型(DataTypes)...................................................................................112.1.3HL7工作原理.................................................................................................112.1.4HL7标准的应用.............................................................................................142.2HL7消息处理............................................................................................................14
2.2.1应用程序处理规则........................................................................................142.2.2确认消息........................................................................................................152.2.3显示消息........................................................................................................152.3查询...........................................................................................................................15
2.3.1查询触发事件和消息定义............................................................................162.3.2原始模式查询................................................................................................172.3.3原始模式延迟访问........................................................................................172.3.4增强模式查询消息........................................................................................172.3.5增强查询模式应答消息................................................................................172.3.6查询消息执行要点........................................................................................172.3.7查询错误应答................................................................................................17
III内蒙古科技大学毕业设计说明书(毕业论文)
2.4HL7V2.X编码方式..................................................................................................18
2.4.1ER7编码方式.................................................................................................182.4.2XML格式消息...............................................................................................182.5本章小结...................................................................................................................20第三章HL7消息解析............................................................................................................21
3.1HL7分析协议............................................................................................................21
3.1.1V2.xHL7消息结构........................................................................................213.1.2V2.xHL7消息解析........................................................................................213.2编码、解析的类函数...............................................................................................233.3本章小结...................................................................................................................24第四章HL7消息格式转换....................................................................................................25
4.1HL7消息格式转换....................................................................................................25
4.1.1HL7消息格式转换目的和意义.....................................................................254.1.2ER7格式的消息转换为对应的XML格式的消息......................................254.1.3XML格式的消息转换为对应的ER7格式的消息......................................264.2HL7消息两种格式转换的函数................................................................................274.3本章小结...................................................................................................................29第五章HL7的影响................................................................................................................30第六章总结与展望未来........................................................................................................31
6.1总结...........................................................................................................................316.2展望未来...................................................................................................................31参考文献..................................................................................................................................33致谢......................................................................................................................................35
IV内蒙古科技大学毕业设计说明书(毕业论文)
第一章引言
1.1研究背景
当今,随着计算机技术和互联网的飞速发展,把信息化社会进程推进了一个崭新的阶段,信息的传送与交流已成为整个社会生活正常运作的重要基础。
对于医疗信息产生、管理、传递及格式转换等也出现了许多问题,这迫切需要人们来处理解决这些问题,也就形成了标准。对于标准的起源,可以这样理解:标准化是随着多方应用而产生的,应用是标准产生的前提条件。每一个行业能存在的基础就是能应用于生活,在应用中,要达到最好的效果,标准化是必由之路。只有标准化了,市场才能细分,行业才能实现利润。医疗疗行业也是同样如此,只有在医疗市场细分后,医疗信息化相关的IT厂商才能在这个行业的某一个方面做专做精,这样才能有利可图。
从医院角度本身来讲,如果医疗行业都有了一个规范的行业通信标准,那么就能与其它医院进行医疗信息资源的共享,医院本身就实现优化了。工作效率的提高,以便于降低医疗的成本,这样在进行医疗信息系统HIS(HospitalInformationSystem)建设时,常常只能对一家医疗信息系统HIS制造商进行选择,只有这样医院的各个业务模块才能实现资源共享[1]。这样选取就不存在局限性了,不仅能选到在某一模块上领先的其它系统制造商,所以要形成一个统一的标准。
现如今,医院信息系统HIS已经广泛使用,如果由于缺少统一的医疗信息交换标准,使得各医院内部的的信息系统之间、不同的医院的HIS之间以及医院与保险公司之间的信息交流成为瓶颈,结果反而让每个医院都成了信息的孤岛,这样不论是对于医疗信息化事业的发展,还是对人们生活保障水平的提高,都是十分不利的。为了解决由于信息交换的标准不同而出现的种种问题,这样在医疗信息行业中HL7标准技术就产生了。
HL7是由HealthLevelSeven,Inc.(美国)制定和维护、用于不同的医疗系统之间进行医疗数据传递的标准,美国作为当今世界的科技大国,它所广泛应用和发展的医疗信息交换标准HL7,逐渐走上了世界医疗卫生信息技术舞台。目前,HL7组织的国际会员有20多个国家,我国在数据中心平台建设、标准软件接口开发、跨医疗体系系信息交换整合等工作中引进HL7的数据交换传递标准,使我国医疗卫生信息网建设从一开始就与国际接轨,为以后的国际医疗信息互联网交流和我国各医疗单位医疗信息互联互通打下基础,同时为我国各医疗单位软件的开发提供了一个规范,避免信息化建设过程中
内蒙古科技大学毕业设计说明书(毕业论文)
的资源信息的无谓浪费。现在的大多数医院基本上安装了计算机系统,拥有一整套入院、出院、转院、放射、开票、临床试验及记账等功能[2]。由于这些应用功能一般都是由不同厂商或组织分别提供,所以每个产品都有待定的信息格式,这就需要进行格式转换,从而被不同的人们所看懂。1.1.1HL7的发展历史
自从1987年成立并且在1990年公布2.1版本以来,HL7标准已经走过了十多年的历程。在这期间,通过HL7组织各成员的不断努力,HL7组织结构不断发展和扩大,HL7标准内容不断的完善的更新。
组织发展:虽然HL7标准是源自美国国内的医疗信息交换标准,随着国际成员的不断加入,其发展方向、决策制定已经成为一个多国参与的活动,HL7标准之所以如此迅速的由美国走向世界,还要归功于美国跨国医疗IT厂商,在最近三年来,HL7组织会员增加了三倍,目前已经拥有2200多个会员,除了个人会员外,已有五个赞助单位及370个团体会员,其中包括164个厂商、17个顾问单位、177个医疗机构及12个一般性的营利机构。
版本发展:在最初的HL71.0版本的出现覆盖所有接口结构、抽象数据集、医嘱输入、面向显示的查询。任何新兴的事物的出现都不可能是一帆风顺的,不可能是尽善尽美的,HL71.0从内容和形式上都有明显的不足。HL72.0版本应运而生,在随后的Tyson’sCorner全体会议,对HL72.0版本进行了准备、讨论后被确认下来。1990年正式发布HL72.1版本,之后又陆续推出2.2版本、2.3版本、2.3.1版本、2.4版本、2.5版本,一直到目前最新的3.0版本。
HL7标准内容的确定是一个十分严谨和规范的过程,每一个内容都是在正式的细则和投票过程下产生的。这些过程是在其它相关的医疗工业计算机机信息标准组织投票过程中被作为模型的,这些作业流程的设计符合美国国家标准学会的要求。
针对当前应的HL7版本,所涵盖的内容已经基本符合需求了。1.1.2其它一些医疗信息交换标准的介绍
HL7医疗信息交换标准除外,还存在一些其它的医疗信息交换标准,例如:1.ACR/NEMA联合委员会推出的医学数字图像存储与通信标准,即DICOM标准。DICOM标准和HL7标准的主要区别在于前者侧重于图像的存储与传输,而后者侧重于文本传输。这两种标准的融合,可以实现更加全面的医疗信息交换,IHE(IntegratingtheHealthcareEnterprise)委员会正致力于此项工作[3]。
内蒙古科技大学毕业设计说明书(毕业论文)
2.ASTM标准(AmericanSocietyofTestingandMaterialsMedicalstandards)。ASTM的委员会E-31是美国致力于实验室信息系统建设的组织,它下设有E-31.11、E-31.13等12个组委会负责相关医疗信息标准的制定,如ASTM1238.94和ASTME-31.11是临床实验室数据报告标准。ASTM是相对ISO/OSI计算机网络开放互联模型应用层的协议,底层协议可以是任何可靠的协议,如TCP/IP,RS232等,传送的消息由ASCH字符组成。为提高标准的通用性,HL7组织和ASTM组织在标准的制定上进行了一系列协商[4]。
3.ASC(TheAccreditedstandardsCommittee)X12电子文档交换标准。ASCX12是美国一个应用于各个行业的电子数据交换的协议族,其中X12N主要侧重于医疗领域的信息交换。HL7的编码规则借鉴了X12的模型,但也有所不同。为了使标准更加通用,HL7和X12两个组织也进行了一定的合作[5]。
4.IEEEP1157组织提出的医疗信息交换标准“MEDIX一MedicalDataInterchange”。它的主要目标也是建立异构信息系统间的数据交换协议,严格参照了ISO/OSI计算机网络开放互联模型的各层协议,包括远程系统服务项(ROSE-RemoteoperationserviceElement)。HL7同它的主要区别在于既没有依赖ROSE,也没有采用ASN.1BER的语法。虽然二者有所不同,HL7和MEDIX委员会一直保持联络以促进相互改进[6]。
5.日本在医疗信息交换上有MML(MedicalMarkupLanguage)标准,MML和HL7的XML表达很类似[7]。
上述标准都可以称之为电子数据交换标准EDI(ElectronicDataInterchange)。HL7标准通过与众多标准之间的相互借鉴和相互促进,已经成为当前应用最广泛的医疗信息交换标准。
1.2HL7标准在国内外的应用
1.2.1HL7在我国的推广
对HL7标准在我国的现状以及未来发展趋势的认识,目前的基础工作是在我国国内推广此标准。首先必须对我国医疗信息化建设的现状有清晰的认识,目前国内的的基本情况是:1997年,我国开始实施“金卫工程”,大力推广医疗信息化建设,目前国内大型医院已初步实现了信息化。
201*年7月,我国以HL7中国研究中心(HL7CHINA)的名义正式成为HL7的国际会员,力求制定HL7FORCHINA的标准。这个组织的目的十分明确,即在国内医疗行业机构、学术界及厂商大力协助下,推广符合我国国情的HL7标准。目前我国对HL7
内蒙古科技大学毕业设计说明书(毕业论文)
标准的研究主要集中在HL7V2.X,我国的HL7协会201*年完成了HL72.4版的翻译工作,我国引入HL7已经成为必然。目前也有一些医院采用支持HL7标准的设备,如福建省立医院,上海市第一人民医院,北京301西院,北医三院,天津泰达医院等,但在总体上说HL7标准在我国国内应用得并不十分广泛。
201*年6月,中国台湾省成为HL7的国际会员,中国台湾省卫生厅宣布HL7为医疗信息交换的官方标准,HL7Taiwan正式成立。中国台湾省是较早加入HL7组织的国际成员之一。“中国台湾省健康信息交换第七层协议协会”是目前中国台湾省的HL7组织形式,这个协会已经形成了成熟的运作模式,其组成具体包括会员大会、理事会、监事会以及各专门委员会等。1.2.2国外的HL7工具包和相关产品
国外的HL7组织、医疗信息系统开发商、少数用户和个人在将HL7标准应用于医疗信息交换上做了很多有意义的工作。但由于商业原因,大部分工作成果都没有公开。下面介绍国外一些主要的HL7工具包和相关产品。
1.HAPI/NHapi
HAPI/NHapi,是由加拿大HealthNetwork大学所编写的,是用于解析HL7V2.X消息的面向对象的java开源工具[8]。HL7V2.X的构造器和解析器是HAPI,它的主要任务是使java程序员很容易地使用HL7。HAPI0.6版本是在201*年7月推出,这个版本主要支持HL7V2.5.1和V2.6。HAPI1.0是在201*年4月推出的,这个版本提高了编译和解析HL7的速度,增加了一个新的返回工具PipeParser,和一些新的功能。在201*年6月,HAPI又推出了1.2版本,此版本带来了一些错误的修复和一些改进方法,主要焦点是固定在解析和编码问题上,尤其是一些具体问题的OBX-5(可变)值解析并得到纠正。因此HAPI是开源工具包,并很好的支持HL7V2.X标准,所以本论文采用HAPI工具包开发。
NHapi,是HAPI的.NET版本,主要基于.NET架构,它便于程序员采用.NET编程使用HL7。NHapi工具包主要采用C#编程,它同样对HL7V2.X有很好的支持[9]。NHapi比HAPI版本要新要慢,最新版本NHapi-2.0.2.0(.NET2.0架构的第二版),它很好的支持HL7V2.5。
2.ProtoGen/HL7
protoGen/HL7是GuntherSchadow在德国柏林布明杰弗兰克林大学医院(theBenjaminFranklinUniversityHospital,Berlin,Germany)攻读博士学位期间开发的。
内蒙古科技大学毕业设计说明书(毕业论文)
ProtoGen/HL7软件的主要功能是在HL7标准文本文档中自动生成符合HL7标准定义的类,其中包括类的实现和类的接口[10]。GuntherSchadow的主要工作分为:①通过一些可用的工具(如:用AWK语言编写,它是一个程序设计语言,可以很容易地处理结构化数据和产生格式化的报告。)从HL7标准的文本文档中半自动化的能表达消息语法的简单格式或提取有用信息到表中。②在文档中用PROLOG进一步处理,并提取的信息,同时生成C++代码。③C++代码通过编译、打包成C++类库,在头文件中保存类的声明,在HL7应用程序中提供开发接口。
目前许多应用HL7的信息系统开发商集成使用ProtoGen/HL7,它能运行的操作平台是UNIX(FreeBSD),GuntherSchadow没有开发运行在windows操作平台上的版本。
3.HL7数据库的开发
在德国,FrankOemig开发了HL7的MicrosoftAccess数据库,集成了HL7V2.1、V2.2、V2.3和V2.3.1等四个版本[11],并提供友好的用户界面接口,通过数据库可以很快的访问触发事件、数据类型、消息结构、表中的可选值和数据元素(包括它们的成分和子成分)。目前面向市场用的是这个数据库,同时这个数据库被打包成不同的模块,这样开发者可以根据自己的需要进行相应的定制。早在1995年10月德国的FrankOemig在HL7用户研讨会上,介绍了用MicrosoftAccess数据库的实现方法和HL7数据库的结构[12],提出了怎样集成以下HL7实体的数据模型:事件、功能域、数据类型、数据元素、成分、段、表和值、消息类型等,以及怎样在数据库结构中映射组合数据类型的方法。
4.SymPhonia3
symphonia3提新西兰orion公司开发的HL7软件开发工具包。它的主要特点在于能够解析包括HL7、XML、HIPAA、X.12、EDIFACT、HCFA、ASTM、NCPDP及用户自定义格式等多种协议,直接产生符合协议定义的ActiveX对象作为编程接口,快速将工业标准转换添加到新的或己有的系统中,实现多个异构系统的集成。Symphonia3的智能映射工具可以把其中的任何一种消息格式转换为其他另一种格式,实现广泛领域中的数据通讯。它可以运行于多种操作平台上,在数据交换时具有加密功能,并且可以产生消息的RTF(RichTextFormat)或HTML文档。Symphonia3宣称能够每小时解析300万条消息。它是目前中国台湾地区广泛应用的医疗信息交换工具[13]。
5.NeoTools
NeoTools是美国NeoToolDevelopment,LLC公司的HL7系列产品。该公司成立
内蒙古科技大学毕业设计说明书(毕业论文)
于1997年,专门从事医疗健康领域软件产品的开发、咨询和培训,最新与微软公司合作开发的HL7加速器能够使微软公司的BizTalkserver201*支持HL7VersionZ.x的所有版本,NeoTools包括一系列软件开发组件:①NeoEnableForHL7:HL7编码/解码的ActiveX组件;②NeoConnectTCP:利用TCP/IP协议进行消息交换的ActiveX组件;③NeoQueue:异步消息排队组件;④NeosendForHL7:发送消息组件;⑤NeoReeeiveForHL7:接收和确认消息组件[14]。
6.Chameleon
Chameleon是加拿大iNTERFACEWARE公司的产品。该公司主要致力于开发集成到医疗信息领域的软件产品。在Chameleon的演示程序中,Chameleon在消息解析时,人机交互的界面比较多,有很多功能的实现需要手工操作,例如Segments的识别需要手工导入消息中相应Segments的定义等[15]。
7.Medi7Parser
提供HL7消息解析的编程接口的Medi7Parser解析器是由美国Eversolve公司开发的。
1.3论文结构
HL7(HealthLevelSeven)标准已经成为医疗信息行业中应用最为广泛的医疗信息交换标准之一。由于HL7标准的广泛应用,国内外大多数厂商均采用HL7标准研发医疗信息行业相关产品,其中HL7消息解析是众多医疗信息系统的核心功能之一。HL7消息格式转换则实现了HL7两种编码格式之间的互相转换。本课题采用Java语言编程,使用Eclipse集成开发环境,HAPI开源工具包辅助开发,实现解析HL7消息的功能并将HL7两种信息格式编码互相转换。
综合以上,论文初步实现了医疗信息交换中消息的解析及格式转换的基本过程。论文全文分为五章,各章节的主要内容安排如下:
第一章:介绍课题的研究背景,HL7的发展历史及其它医疗信息交换标准,在我国的推广,HL7工具包和相关产品。
第二章:对HL7标准内容进行了详细说明,基本概念、分隔符、数据类型、工作原理,标准的应用;充分解释了HL7消息处理,应用程序处理规则,确认、显示、查询、延迟、执行要点及错误应答都做了充分的介绍;之后又介绍了HL7V2.X编码方式中的ER7和XML格式消息。
内蒙古科技大学毕业设计说明书(毕业论文)
第三章:对HL7V2.X消息解析做了的介绍。详细介绍了HL7协议分析,V2.X标准的消息结构,消息解析;对HAPI开源包在解析中用到的类做了简单的说明。
第四章:介绍了HL7格式转换的研究与实现,HL7V2.X消息格式转换的目的和意义,对HAPI开源包在格式转换中用到的包和类做了简单的说明,介绍了ER7格式消息转换为对应的XML格式消息,XML格式消息转换为对应的ER7格式消息。
第五章:HL7的影响与展望未来。介绍了HL7标准对各方面的影响,并对今后的工作进行展望。
内蒙古科技大学毕业设计说明书(毕业论文)
第二章HL7V2标准
HL7标准是建立在ISO标准组织之制定的OSI模型的最高层的应用标准,如下图2.1所示:
ApplicationPresentationSessionTransportNetworkDataLinkPhysicalTCPIPLLC;MAC物理链接
HealthLevelSevenFTPHTTPSMTPPOP3UDP图2.1OSI模型
2.1HL7
标准资料是一种技术规范,详细的、即时的患者相关数据和临床技术知识对医疗服务有着非常重要的意义。2.1.1基本概念
1.触发事件(Triggerevents):开一个交换消息的现实事件,增补A包含了代表了所有定义过的触发事件的代码。这些代码代表了如一个就诊者入院或发生了一个医嘱事件的标准。
2.消息(Message):一个消息是系统间传送数据的最小单位,它包含了一组段,这些段在一个定义好的顺序内,每个消息有一个规定了本身用途的消息类型。例如:ADT消息类型用于把一个就诊者部分的ADT数据从一个系统传送给另一个系统。
3.段(Segments):一个段是数据字段的一个逻辑组。一个消息的段可能是必须的或可选的,它们可能在一个消息内发生一次或被重复多次,每个段有一个给定的名称。每一个段由一个惟一的三字符代码定义。
4.字段(Fields)一个字段就是一个字符串,它是段的最小组成单位。如果没有设
内蒙古科技大学毕业设计说明书(毕业论文)
定值(也就是值被省略),旧值仍然保持不变。如果设置了空值,旧值就会被刷新成空。
(1)位置:段内数据字段的顺序位置,这个数字在段定义表的文本注释数据字段落中。(2)最大长度:数据字段中出现可能占的最大字符数,最大长度在抽象消息或HL7编码规则中不是重要概念。字段长度只要合乎规范就可以,但是,一般习惯,它常在一个地点特定的基础上定义。它被用于计算组件和后面定义的子组件分隔符的长度。因为最大长度是一个单独出现的,所以重复的分隔符不包括在计算最大长度内。在段的属性表中,这个信息在标有LEN的列内。
(3)数据类型:对数据字段内容的限制,在这里由HL7定义了一些数据类型。(4)可选性:到底这个字段内是必需的、可选的还是有条件的,区别这些的指令如下所示:
R-required必需的O-optional可选的
C-conditional对触发事件或别的一些字段,是有条件的X-notusedwiththistriggerevent没有和这个触发事件一起用B-backgroundcompatibility向下兼容HL7以前的版本5.重复性:此字段是否可以重复,区别的指令如下所示:N-不能重复
Y-这个字段可以重复一个不确定的次数或地点指定的次数整数-这个字段可以重复整数中指定的次数6.表(Table)
HL7为这个字段定义了一个值的表。在表的数字列中的一条记录代表表名和元素名是相同的。
用户定义表:用户定义表是于区域或是地点定义的值的集合。考虑到某些字段,如PVI-3-指定病患地点,字段的值会因机构的不同而改变。即使这些表并没有被定义于标准之内,仍然提供用户定义表以利于实作。HL7有时会发布表建议值,由于地点可能被用为起始集(例:表0001-性别)。IS数据形态也经常用于将表中的编码值。注意有些表也可能会参照到一般主档(例:表0302照顾点)。
另外,例如事件类型,因为这些类型影响了包含它们的消息的解释,所以它们是HL7标准的一部分,它们受HL7标准确定的准则的限制。ID数据类型经常用于做HL7的表的编码准则。只要HL7表存在,最好用它们。这些表在以标准框格式显示的文本
内蒙古科技大学毕业设计说明书(毕业论文)
中出现。附加的部分可能包括在一个特定场所的基础成分内。
别的表包含由相关别的标准文档编码成的准则。例如,由ASTM1238-88定义的实验室规程代码。CE数据类型用于为这些表编制准则。
最后,还有一些自定义的表,由于没有合适的官方标准存在,这些表包含可能通过机构进行标准化的准则。这些建议值会以一个标准的无框格式的文本显示。希望这些准则应用于一个机构以及按需要扩展为一个基本服务的地方。
各种各样的HL7数据类型(如CE、CF、CK、CM、CN、CP、CQ、CX、ED、ID、IS、RP、XAD、XCN、XON、XPN、XTN等)用于传达制成表的标准,或包含了有表格式标准的一个组件。
7.ID号码:为一小整数,通过标准定义的惟一标志数据子段的小整数。ID号码在HL7消息编码规则中不重要,但是对那些采用HL7标准的其它消息编码规则来说很方便。
8.名称:对字段做描述的全局范围的惟一名称。9.消息分隔符(MessageDelimiters)消息分隔符的推荐值及用法见如下表2.1:
表2.1消息分隔符
分隔符段终止符字段分隔符建议值(hex0D)编码字符位置--使用终止一个段分割段中相邻的两个字段,并把消息段ID与第一个字段分隔开元件分隔符子元件分隔符^&14分割数据字段中相邻的组件在字段中分隔相邻的子组件,如果没有子组件,这个字符可以省略反复分隔符扩展符~\\23分隔多个重复出现的字段段用于构造ST、TX或FT等数据类型字段中的转义序列,或者用于ED类型的数据。如果消息中没有转义字符,该字符将被省略内蒙古科技大学毕业设计说明书(毕业论文)
在构造一个段时用到的特殊字符。它们是段的终止符、字段的分隔符、元件的分隔符、子元件的分隔符、反复的分隔符以及扩展符。段的终止符经常是一个回车(在ASCII中是一个十六进制的数字“0D”)。别的定义符在MSH段中定义,字段定义符在第四个字符的位置,字段中的别的定义符称作编码字符,它们是段ID后的第一个字段。MSH段用的定义符的标准就是整个段用的定义符标准。在任意给定的地点,合适的定义符的子集要由应用程序相协商而定。因为他们出现在消息的头段(MSH),以分解消息,这就意味着接受应用程序要用定好的定义符[16,27]。2.1.2数据类型(DataTypes)
HL7V2.X中定义了超过80个数据类型。这些数据类型分为以下几类:⑴文字及数字类Alphanumeric包括:ST、TX、FT、SRT数据类型;⑵数字类Numerical包括:CQ、MO、NM、SI、SN数据类型;⑶标示类Identifiers包括:ID、IS、HD、EI、RP、PL、PT、VID数据类型;⑷时间日期类Date/Time包括:DT、TM、TS数据类型;⑸编码值类Codedvalues包括:CE、CF、CK、CX、XCN、CNE、CWE数据类型;⑹类属类Generic包括:CM数据类型;⑺人口统计信息类Demographic包括:AD、PN、TN、XAD、XPN、XON、XTN、SAD、FN数据类型;⑻波形类Waves包括:CD、MA、NA、ED数据类型;⑼价格数据类Prices包括:CP数据类型;⑽病人财务信息类Finances包括:FC数据类型;⑾扩展查询类ExpendedQueries包括:QSC、QIP、RCD数据类型;⑿主文件类MasterFileTables包括:DLN、JCC、VH数据类型;⒀医疗记录信息管理类MedicalRecords包括:PPN数据类型;⒁时间系列类TimeSeries包括:DR、RI、SCV、TQ数据类型。
2.1.3HL7工作原理
HL7标准是目前医疗信息交换过程中使用最普遍的标准,通用查询在内的全部接口这是它的内容[17],包括:①患者管理(入出转院和注册);②医嘱的处理;③患者的记帐系统;④临床的观察;⑤同步主档的一般接口;⑥医疗信息(文档)管理;⑦预约和资源;⑧患者转诊;⑨并支持面向问题,同时记录患者照料通讯,在计算机信息系统中提供有关功能方便实施临床路径。
对于HL7标准的工作原理,首先要明确的是标准本身的定位,总体上我们可以将它定位于如下几个方面:①尽量专注于Layer7的实现;②不同技术环境的不同系统间的资料交换;③提供及时的传输方式;④供客制化的标准规格;⑤建构在已被广泛接受的标准协议上;⑥并不设定成为“即插即用”的界面标准。
内蒙古科技大学毕业设计说明书(毕业论文)
HL7标准的设计理念:①Segment:将医院中需要存放的资料分类到无法分割的项目;②Chapter:将医院中的流程分割成好几大块;③Message:将每个流程定位出好几个触发事件;④运用所有找出的三个英文字头来凑成这些消息。
组成方式(Implementationmethod):①了解欲标准化的医疗流程;②利用类别图(ClassDiagram)定义流程的结构与静态关系;③利用对象关系图(ObjectInteractionDiagram,OID)定义流程的顺序与动态关系;④为可能出现的医疗流程特殊性加以比较、修改;⑤组织专家会议订定决议;⑥实际建置电子化流程借以作为医疗院所之参考;⑦以效率及组织成员满意程度为主评估电子化流程效益。
通俗的来讲,信息的交换就是各个不同系统之间各种消息的传送、接受以及查询,在医疗信息交换中也是如此。
消息定义的规约:①描述消息的格式,包括它们的目的、内容和相互关系,这种格式被称作抽象消息定义,因为它是网络互联模型中第7层(应用层)的定义;②HL7编码规则,用于将一个抽象消息转化为包含真实消息的一个字符串;③编程过程,该过程要求用HL7的规范来交换消息;④预想的与低层协议的关系;⑤构成所有消息的特定消息段;⑥单一消息,确认消息,这些消息在许多应用程序中不需要改变。
应从以下几个基本概念入手,介绍一下HL7的工作原理:
1.触发事件(Triggerevents):标准是根据现实世界医护系统之间数据的流动假定事件而编写的。现实事件称作触发事件。HL7的实现机制就是触发事件,如HL7实现机制图解所示,医生为住院患者开了X线片检查,医生在HIS系统中录入医嘱时,产生触发,消息是在HIS端HL7接口引擎产生的,同时传递给RIS端HL7接口引擎,并由它解析之后,通知RIS系统,这样为该患者进行X光片预约[18]。HL7还允许在数据间和相互关系不同的级别上使用触发事件。例如,大多数ADT触发事件与单一对象有关。其它ADT触发事件与多个对象间的联系有关。一些ADT触发事件从属于一个没有重要相互关系的对象集合。
2.确认原始模式(AcknowledgementsOriginalmode):当非请求更新由一个系统发送给另一个系统时,这种确认模式说明它是在应用层被确认的,这个推论不能充分的说明底层通讯系统能够保证消息的传送,还需要知道接收应用程序在逻辑应用层成功地处理了数据。确认可能包含与开始交换系统有关的数据。例如一个就诊者医疗保健系统处理了触发事件“为一个就诊者安排一次实验室化验”,可能要把一个非请求更新发送给一个能识别就诊信息、化验顺序信息和关于顺序的其它不同信息的实验室应用程序。当
内蒙古科技大学毕业设计说明书(毕业论文)
应用程序成功地对事件做了处理后,辅助项将会确认顺序。考虑到一些成对的就诊者和附属部门系统的原因,确认也可以包括被分配的辅助识别号码。HL7标准没有对数据所有权做假设,对数据接收的后续方式没有特定的要求,也没有对接收应用程序的设计和体系结构做假设。HL7的范围受限于应用系统间的消息规范和触发他们的事件。虽然HL7没有清楚地表明支持,但能与支持存储、转送和数据广播设备的系统一起使用。HL7标准未对系统收到确认前,把消息内的数据提交到系统数据库中的需要来做功能上的解释。接收系统确认数据的可靠性,提供能应用于来自任意数据源的相同性与完整性测试,这些都是必需的,为了继续使用以前的例子,辅助系统希望以后将顺序输入到数据库中时,再把该顺序放到一个输入队列后,辅助系统就会对这个顺序做出应答。惟一的假设是输入队列保持与数据库相同的完整水平上。
3.确认增强模式(AcknowledgementsEnhancedmode):HL7的确认样式已经扩展为可以区别接受和应用程序确认,及每一种确认样式需要的条件。有了肯定的接受确认,接收系统以一种能把发送系统从需求释放为重新发送消息的方式把消息交给安全的存储器。在接收系统处理过消息后,应用程序的确认可被用于把结果状态返回给发送系统。4.查询(Queries):当一个系统向另一个系统发送查询时,会发生不同的数据交换。例如,在一个心脏病导导管插入术应用程序中,会有一个触发事件:给一个没有在心脏病导管插入术应用程序数据库中登记的就诊者预定一个过程。应用程序可以发送一个请求消息,该消息中包含ADT系统中的就诊者ID号,并且收到一个应答,应答中包含要顺序处理的必须数据,此请求事件是一个查询,但要与上面讨论的非请求更新区别开。系统间流动的信息包含在应答中,应答本身不被需要由另一个消息确认。在任何情况下,HL7标准都是由一对应用程序间消息的简单交换组成,即:非请求更新及它的应答,或查询及它的应答。下层操作模型是一个客户端和一个服务器。应用程序用一个能识别操作的事件代码和另一个应用程序相接。其它应用程序用一个包括数据或错误指示的消息进行应答。开始应用程序可能会收到来自其它应用程序或底层软件的拒绝状态,标志它的消息没有被正确接收到。用以下方法之一可以使HL7查询公式化:HL7查询过滤器,由QRD和QRF段定义,支持HL7以前的版本,在原始模式查询中提到;内嵌的查询语言选择语句,用选择的查询语言使查询系统把请求格式化为一个自由格式的查询语句;虚表查询,功能上与内嵌的查询语言消息相似,但定义符上有更严格的格式;存储过程请求,它调用了为符合一个指定查询而构建的应答系统的程序代码单元。由于HL7支持的预定查询受到数量和精确定义的限制,每一个查询都有一个对应的存储过程名以
内蒙古科技大学毕业设计说明书(毕业论文)
及与它关联的参数表。
HL7还包括SQL选择语句,将SQL选择语句作为编码查询选择条件的一种交互手段,它是为了提供给实现者的一种方便,服务器系统不一定必须支持一般的SQL或基于关系数据库技术。2.1.4HL7标准的应用
具体来说,HL7标准可以用在以下几个方面:⑴不同信息系统、操作系统之间的信息交换,避免重复录入数据;⑵不同医疗单位之间的信息交换,实现资源共享;⑶不同地域之间的信息交换,实现资源共享;⑷不同国家之间的信息交换,实现资源共享。
2.2HL7消息处理
2.2.1应用程序处理规则
⒈原始和增强处理规则
这里所描述的处理规则适用于所有的消息交换,无论是使用HL7编码规则还是使用底层协议的消息,它们代表主消息处理模式。确定的变体在消息定义中归档,包括:⑴为特殊处理模式设计的应用程序处理规则是延迟处理;⑵可选的序号协议;⑶延续较长消息的可选协议。
协议用来描述消息交换,根据两个实体进行描述,分别为开始系统和应答系统。每一个系统既是消息发送方,也是消息接收方。开始系统对消息的处理为先发送,后接收;而应答系统为先接收,后发送。
交换过程的如下两个步骤:⑴开始系统从应用程序数据中构筑一个HL7消息,将消息发送到应答系统;⑵应答方接收消息。
⒉应用程序处理规则,延迟处理两个阶段应答
应答系统将确认发送到开始系统,也就是说以某种安全方式放置消息,接收系统在允许的时间内对以下情况进行处理:⑴消息中包含所需信息;⑵在应答系统处理请求前,由于行为被取消后,没有事件引起消息请求。
开始系统接收到的第一个延迟确认表示应答系统负责延续消息的处理,也表明开始系统不需要保存以当前形式发送的特殊消息。
第二个延迟确认消息的接收,是为了提供开始应用程序如下信息之一:应用程序成功进行开始消息的处理;错误阻止了应用程序的处理。如果接收应用程序需要返回状态信息的详细改变时,应使用指定应用程序的消息,通用延迟接收协议应用在指定位置
内蒙古科技大学毕业设计说明书(毕业论文)
和指定应用程序中。作为一个特殊实例,给出了以下类型的选项:⑴不允许延迟确认;⑵所有消息都有一个延迟确认;⑶仅特殊情况可以接收延迟确认。2.2.2确认消息
确认消息在应用程序的基础上进行,但是在应用程序未对特殊消息进进定义和其它情况下,可使用简单通用确认消息。
1.通用确认:简单通用确认在应用程序未定义特殊应用级确认消息或为了预防应用程序处理出错时使用,它也可用来接收级别确认。
2.延时确认:这个部分仅提供向下兼容的能力,它作为创建异步应用级确认的一般形式使用,MCF消息。2.2.3显示消息
⒈显示面向记录的消息,HL7消息包括:⑴适合于显示的数据;⑵明确表示字段内容的数据。
⒉非请求显示更新消息(事件Q05),非请求更新的触发事件通常是特殊行为的完成。
⒊非请求显示更新消息的延续:同其它HL7消息类型一样,通过使用DSC段和MSH-14-Continuationpointer,UDM消息能够被延续,既然为非请求消息,当特殊消息部分被延续使用时,插入消息可以被发送到接收应用程序。MSH-14-Continuationpointer可使接收系统保持对插入消息的无关跟踪。
2.3查询
⒈显示面向记录的查询:事件重复请求,这部分主要为显示或面向记录的格式化查询应答定义框架。
⒉消息定义,这个部分定义下列消息:⑴概括查询;⑵嵌入式查询语言的查询,它支持基于查询语言的任何SELECT语句;⑶虚表请求查询,支持基于指定选择属性的服务器数据库表的查询;⑷存储过程请求,允许应用程序在一个系统向另一个系统上进行存储,并把它编译为指定数据;⑸概括显示应答消息,通过该消息应答系统为直接输出到显示设备上的数据进行格式化;⑹事件重复请求消息,用来请求具有一定格式的数据,并作为事件的重复应答;⑺表格式的应答消息,通过该消息应答系以相关的格式对该数据进行格式化,作为表格中的行和列;⑻事件重复请求,接收系统根据Application-specific-segment-oriented(面向记录)消息对数据进行格式化;⑼关于单个
内蒙古科技大学毕业设计说明书(毕业论文)
就诊者的数据,如为就诊者发送所有的实验室结果;⑽关于多个就诊者的数据;⑾不与就诊者相关的数据。
⒊立即和延迟应答
查询应答可立即完成也可延迟完成,查询中把应答描述为应答期望时间,在立即模式中,接收处理会做出一个立即应答或被接收过程等待应答所占用的短时间应答。
⒋应答消息的交互式延续或取消:原始模式和增强模式
查询的用法之一是从一个应用程序为其它用户取回数据,这种访问方式可为就诊者护理系统的用户从实验室或其它辅助科室取回数据,它也允许药房系统用户从实验室系统取回就诊者的实验室结果或从就诊者护理系统取回非药房医嘱的数据。特殊情况是查询用户在一个系统的终端制订在线查询,和当系统向其它系统发送查询等待的情况。当结果查询发生在内部应用程序接口时,请求数据的方法非常困难当减少应答系统的负担,延续查询为用户提供了制订查询的好方法,原始查询指出了通用查询参数和返回数据的数量值。查看完数据后,用户可以做出很多请求,开始系统再次以与先前相同的格式发送查询,包括在DSC-1-Continuationpointer的值和请求数据的量发生改变的情况除外。开始系统通过发送取消查询消息可明确地终止查询。
⒌逻辑显示断点
通常情况下,显示文本中的行会被分隔成为与屏幕或打印纸的物理大小不相同的逻辑组。显示数据中逻辑中断点的获得对数据显示或打印系统是非常有用的,由于此原因使用了DSP-4-Logicalbreakpoint。发送应用程序将逻辑中断点置于适当的位置。2.3.1查询触发事件和消息定义
与查询相关的触发事件类型:⑴由另一应用程序提供的立即数据访问所需指令,它是数据或延续的初始化请求;⑵由另一应用程序提供的延迟数据访问所需指令。
查询消息使用以下的应答消息:⑴包含显示数据时,DisplayResponse(DSR)message响应该查询;⑵包含表格数据时,TabulardataResponse(TBR)响应该查询;⑶包含事件重复查询时,触发事件由EventReplayQuery(ERQ)和EventReplayresponse(ERP)message提供。
原始QRY查询消息用来请求面向记录的数据,应答消息指定到一个功能区;面向显示,表格应答消息和事件重复应答消息在此描绘。每一个触发事件都列出了消息交互的应用形式。
内蒙古科技大学毕业设计说明书(毕业论文)
2.3.2原始模式查询
在原始模式显示查询-立即应答(事件Q01)中,QRY消息中的QRF和QRD段在应答中响应。如果DSC-1-Continuationpointer不为空时,DSC段包含该延续指针。如果在原始模式显示查询变量中显示查询不止一种应答类型,MSH段中消息类型字段的第二个组件用来指出应答事件类型。2.3.3原始模式延迟访问
在延迟查询中,复杂的查询和应答允许包含在单一消息中。给定查询的应答被分成许多独立的DSR消息。单个的DSR消息中可包含对许多个QRY的应答。在查询的延迟应答中,要注意所有面向记录的原始模式查询和遵循立即、延迟确认模式的增强查询在上文中已定义。2.3.4增强模式查询消息
增强模式查询消息分为以下四个方面:⑴EQL-嵌入式查询语言查询;⑵VTQ-虚表查询;⑶SPR-存储过程请求;⑷ERQ-事件重复查询。2.3.5增强查询模式应答消息
增强查询模式应答消息可分为以下三个方面:⑴EDR-增强显示应答;⑵TBR-表格式数据应答消息;⑶ERP-事件重复应答。2.3.6查询消息执行要点
⒈原始模式执行要点:⑴通过应用程序的协同工作,可定义QRD和QRF段中需这滤的特殊值;⑵查询段的格式选择非常通用,它通过实现者阅读,为使用标准的实现者指出较大的查询能力,但这并不是主要目的,格式通过接口的指定限制使用。
⒉增强模式执行要点:表定义和虚表定义
通过应用程序的协同工作,可定义QRD和QRF段中过滤的特殊值;查询段的格式选择非常通用,它通过实现者阅读,为使用标准的实现者指出较大的查询能力,但这并不是主要目的,格式通过接口的指定限制使用;表示为TBR应答消息的表中的内容在功能章节中进行定义。2.3.7查询错误应答
如果应用程序在处理查询时发现了错误,它通过在查询应答消息的MSA段中返回应用程序错误或应用程序拒绝进行应答。接收应用程序用合适的错误代码和消息给MSA-6-Errorconditionsegment赋值。
内蒙古科技大学毕业设计说明书(毕业论文)
2.4HL7V2.X编码方式
HL7V2.X有两种编码方式:ER7与HL7V2.XML2.4.1ER7编码方式
ER7(EncodingRulesfor7),竖线编码,是HL7传统的编码格式。采用HL7V2.X标准所制定的编码原则进行编码,HL7V2.X的主要编码方式是ER7格式,可是消息可读性比较差,这就需要开发专用的消息解析模块进行解析了,从而无形中增加了开发的难度等。鉴于此,HL7标准组织在HL7V2.3.1标准开始时,就引入了HL7V2.XML格式作为辅助编码规则[19]。
ER7格式编码消息例子:
MSH|^~\\&|LABGL1||DMCRES||19951002180700||ORU^R01|LABGL1199510021807427|P|2.2
PID|||T12345||STONE^ALAN^A||19601002|M||||||||||123456PV1|||NER|||||||GSU||||||||E||||||||||||||||||||||||||19951002174900|19951006OBR|1||09527539021001920|1001920^BLOOD0218070000||350|F||^^^^^RT
OBX||NM|1001910^PATIENT
TEMPERATURE,
ARTERIAL^^^TEMP
CORR|0001|37.0||||||F|||19951002180700||42
OBX||TX|1001912^FIO2,ARTERIAL^^^FIO2art|0001|*|%||A|||F|||19951002180700||42OBX||NM|1001960^PO2,
art|0001|65|mmHg|75-100|L|||F|||19951002180700||42
2.4.2XML格式消息
采用XML作为HL7V2.X的编码格式,不用专门开发ER7格式的解析模块,减小了开发和维护的系统开销,可以更方便与采XML作为编码的系统相整合。XML设计用来传送及携带数据信息,所以XML用途的焦点是它说明数据是什么,以及携带数据信息。
XML定义结构、存储信息、传送信息。以下为小王发送给小明的便条,存储为XML,例如:
小明
18GASES,
ARTERIAL^^^ABG|||19951002180200|||||||19951002180300||||1793559||0952753902||199510
ARTERIAL^^^PO内蒙古科技大学毕业设计说明书(毕业论文)
小王问候
嗨,过几天去找你玩。
这个XML文档仅是纯粹的信息标签,这些标签意义的展开依赖于应用它的程序。结构:每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,。这一行代码会告诉解析器和浏览器,这个文件应该按照前面讨论过的XML规则进行解析。第二行代码,,则是文档元素(documentelement),它是文件中最外面的标签(我们认为元素(element)是起始标签和结束标签之间的内容)。所有其他的标签必须包含在这个标签之内来组成一个有效的XML文件。XML文件的第二行并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。第三行代码是注释,我们会发现它与HTML中使用的注释风格是一样的。这是XML从SGML中继承的语法元素之一。
再往下的一些地方,可以发现标签里有一些特殊的语法。代码用于表示无需进行解析的文本,允许大于号和小于号之类的特殊字符包含在文本中,而无需担心破坏XML的语法。文本必须出现在之间才能合适地避免被解析。这样的文本称为CharacterDataSection,简称CDataSection。
XML的结构的缺陷:第一,就是不支持分帧(framing),当多条XML消息在TCP上传输的时候,无法基于XML协议来确定一条XML消息是否已经结束。第二,是HL7V2.XML消息所占篇幅较大。
XML格式编码消息例子:
|^~\\&LABGL1DMCRES
19951002180700
内蒙古科技大学毕业设计说明书(毕业论文)
ORUR01
LABGL1199510021807427
2.5本章小结
本章主要介绍了HL7V2标准的一些基本概念,从几个基本概入手介绍了HL7的工作原理,标准用在哪些方面等;消息处理规则;ER7与XML是HL7V2.X有两种编码方式。
内蒙古科技大学毕业设计说明书(毕业论文)
第三章HL7消息解析
HL7消息解析是将HL7消息字符串解析成为一种抽象数据结构,在其中包含了应用程序所需要的数据。
3.1HL7分析协议
3.1.1V2.xHL7消息结构
在HL7协议中,通信系统间互相传递数据的最小单位是消息。依据HL7协议,在结构上观察,HL7消息的形状是一个树形结构。
由一组顺序排列的段组成一条HL7消息。在HL7协议中,总共定义了84种消息结构,它们都是标准的,如图3.1所示,罗列出其中消息的标准结构ADT^A02。在图3.1中可以知道,ADT^A02是由MSH、PV2、EVN、PID、PD1、OBX、PV1、DB1段构成。其中,MSH、、PID、EVN、PV1为必选的段,剩下的几个为可选的段,用[]表示;OBX与DB1段是可循环的段,用{}表示。在实际工作中,为方便处理,习惯上会把几个位置相邻、功能相关的段绑定成为一个组(Group)处理,组就和段一样具有“可选”和“可循环”的属性[20]。
图3.1HL7消息结构样例(ADT^A02)
3.1.2V2.xHL7消息解析
分割消息块、剔除无用信息、判别消息合法性、解析消息头、提取消息数据和数据装箱这是HL7消息的解析需要完成的工作。
内蒙古科技大学毕业设计说明书(毕业论文)
1.确定有效的消息数据区主要是为了分割消息的块,同时把消息数据又细分为若干的段(segment)和字段(field),以便于提取出有用的消息数据并进行装箱和处理。在HL7消息的传送给对方的过程中,很多条消息是可在一次的通信会话中进行串行的传递。因此,解析HL7消息第一就是要对众多的消息和数据进行有效的消息数据区的划分。HL7协议没有对消息的结束符做出明确的规定。在这里,我们可以参考业界的经验,并规定(ASCII0x0A)是标识消息的结束终止符,同时约定该结束符不可以在消息中的任何其它位置出现[21]。
2.解析消息头:利用提出MSH段中有关信息来完成的。依据HL7协议,段的结束符为(ASCII0x0D),因此,我们根据该段的结束标识符可对包括MSH段在内的所有的消息段进行区域分割处理。其中,解析消息头的主要从以下几个方面进行处理:①对字段(field)[MSH.1]、子元素(sub-component)、元素(component)、可循环字段(Repeatable)、转译符(EscapeCharacter)[MSH.2]分割符标志做记录;②对消息的类型[MSH.9]做出识别;③对消息控制码[MSH.10]做记录;④对消息所遵循的HL7协议版本信息[MSH.12]做出判别等[22]。
3.对消息合法性的判别主要从以下几个方面做处理:①用消息级语法做检查。利用该检查,我们可以明确的知道消息是不是为标准的HL7消息、消息的段的结构是不是合法的、消息的来源是不是合法的、消息的协议版本是不是正确的等;②用段(segment)级语法做检查。利用该检查,我们可以明确的知道该段中的字段是不是所有的必选字段均有有效数据和字段结构是不是合理的等;③用字段(field)级语法做检查。利用该检查,我们可以明确的知道该字段的数据类型是不是合法的、有效的[23]。
4.把有效的消息字段进行装箱的处理叫做提取消息数据。其中,我们依据HL7协议中的标准消息结构设计了用于存放消息字段的数据箱,它具有着上下级关联索引、自身属性描述和数据存储等功能[24]。
5.对数据装箱和语法检查过程中发现的不可识别的字段、段等信息忽略跳过或不予提取叫做剔除无用信息[25]。
将HL7消息字符串解析成为一种抽象数据结构的过程叫做HL7消息的解析,在这里包含了应用程序所需要的数据。在HAPI中,这样的抽象数据结构被定义为“Message”,“Message”它是一个接口,能够表达一个完整的HL7消息,它包含所有的结构、字段和段。HL7消息结构模型是由HAPI定义的,如图3.2所示,这里,箭头是接口间的继承关系,菱形是接口间的聚合关系[26]。
内蒙古科技大学毕业设计说明书(毕业论文)
图3.2HL7消息结构模型
四种构造解析器,FastParser、PipeParser、DefaultXMLParser和GenericParser是由HAPI开源工具定义的。这里,PipeParser和FastParser的作用是构造/解析ER7格式消息、DefaultXMLParser的作用是构造/解析XML格式消息,GenericParser的作用是构造/解析XML或ER7格式的消息字符串。为了能够更好的解析两种格式的HL7消息字符串(XML和ER7格式的消息字符患),用的是GenericParser,把HL7消息字符串解析成为“Message”,同时利用HL7消息固有的层次结构,将它显示为树形结构[25,26],如图3.3所示。
图3.3HL7消息解析,并以树结构显示
3.2编码、解析的类函数
1.消息编码
内蒙古科技大学毕业设计说明书(毕业论文)
publicvoidencodeMessage()
throwsca.uhn.hl7v2.HL7Exception
例如:
Stringhl7msgstring=this.parser.encode(this.msgTreePanel.getMessage());hl7msgstring=hl7msgstring.replace("\\r","\\n");this.encodeTextArea.setText(hl7msgstring);函数功能:对HL7消息进行编码。抛出:ca.uhn.hl7v2.HL7Exception2.消息解析
publicvoidparseMessage()
throwsca.uhn.hl7v2.HL7Exception,
ca.uhn.hl7v2.parser.EncodingNotSupportedException
例如:
StringmessageString=textHl7encode.getText().replace("\\n","\\r");try{Messagehl7msg=parser.parse(messageString);msgTreePanel.setMessage(hl7msg);}catch{}
函数功能:解析消息并以树结构显示。抛出:
ca.uhn.hl7v2.HL7Exception
ca.uhn.hl7v2.parser.EncodingNotSupportedException
3.3本章小结
本章主要介绍了HL7V2的解析,HL7消息的形状是一个树形结构,我们用到的是HAPI工具包中的四种构造解析器,消息解析的建模方法。
内蒙古科技大学毕业设计说明书(毕业论文)
第四章HL7消息格式转换
4.1HL7消息格式转换
4.1.1HL7消息格式转换目的和意义
HL7消息格式转换的目的是将HL7传统编码(ER7)与XML两种格式进行互相转换。研究HL7标准格式与XML格式的互相转换有很深远的意义:
1.伴随着XML技术的发展、成熟和普及,在网络上数据交换选择上XML数据必将成为的首选。商业软件的标准配置将会变为XML数据接口,所以研究HL7V2.X标准格式与XML格式的相互转换是一种必然,从而使得以HL7技术开发的系统获得XML的优势,这样使HL7技术开发的系统增强了灵活性和竞争力。
2.研究HL7V2.X标准格式与XML格式相互转换,不仅可以提供与其他系统更加方便的集成方式,还可以为HL7标准提供了一种可供选择的编码方案,同时还可以利用更多成熟的工具对HL7消息进行操作。
4.1.2ER7格式的消息转换为对应的XML格式的消息
HAPI开源工具包对HL7V2.X消息格式提供了比较好的支持。四种构造解析器:FastParser、PipeParser、DefaultXMLParser、GenericParser是由HAPI定义的,如下图4.1所示,将ER7格式的消息字符串转换成XML格式的消息字符串的过程:第一,对ER7格式的HL7消息字符串进行解析,并获得“Message”接口的类型。第二对“Message”类型用DefaultXMLParser构造解析器进行构造,最后得到XML消息字符串。
图4.1构造解析器类之间的关系
内蒙古科技大学毕业设计说明书(毕业论文)
ER7XMLMutualConversion类用于支持ER7格式消息字符串和XML格式消息字符串的相互转换。ER7XMLMutualConversion类的主要结构声明,如:
publicclassER7XMLMutualConversion{
publicStringconvertER7ToXML(Stringer7msg);publicStringconvertXMLToER7(Stringhl7xmlmsg);}
在这里,类的成员函数:convertER7ToXML(Stringer7msg)用于将ER7格式的HL7消息字符串转换成对应的XML格式的HL7消息字符串。
系统提供了ER7格式的HL7消息字符串转换为对应的XML格式的HL7消息字符串功能,如图4.2所示。
图4.2ER7格式的HL7消息字符串转换为XML格式的HL7消息字符串
4.1.3XML格式的消息转换为对应的ER7格式的消息
将XML格式的HL7消息字符串转换为ER7格式的HL7消息字符串,是采用XML格式编码的HL7消息转换为对应的ER7格式的HL7消息字符串。具体的过程与ER7格式的HL7消息字符串转换为对应的XML格式的HL7消息字符串过程相似,第一对XML格式的HL7消息字符串进行解析,得到“Message”接口类型,第二对“Message”类型用PipeParser构造解析器进行构造,最后得到ER7格式的消息字符串。
与ER7格式的HL7消息字符串转换为对应的XML格式的HL7消息字符串方法相似,类ER7XMLMutualConversion中的成员函数:convertXMLToER7(Stringhl7xmlmsg)实现的是将XML格式的HL7消息字符串转换为对应的ER7格式的HL7消息字符串。
系统提供的XML格式的消息字符串转换为ER7格式的消息字符串功能,如图4.3
内蒙古科技大学毕业设计说明书(毕业论文)
所示。
图4.3XML格式的消息字符串转换为ER7格式的消息字符串
4.2HL7消息两种格式转换的函数
Java包:edu.imust.hl7.mutalconversionJava类:ER7XMLMutualConversion
类功能:在HL7中ER7格式消息和XML格式的消息相互转换类中函数的说明:
1.ER7格式消息转换为XML格式消息的类函数
①publicjava.lang.StringconvertER7ToXML(java.lang.Stringer7msg)函数功能:HL7字符串格式转换,将ER7格式转换为XML格式。参数:er7msgString:ER7格式的HL7字符串返回:String:XML格式的HL7字符串
②publicjava.lang.String[]convertER7ToXML(java.lang.String[]er7msgarray)函数功能:HL7字符串数组格式转换,将ER7格式字符串数组转换为XML格式字符串数组。
参数:er7msgarray-String[]:ER7格式的HL7字符串数组返回:String[]:XML格式的HL7字符串数组例如:
ER7XMLMutualConversionexmc=newER7XMLMutualConversion();Stringer7string=textEr7.getText();
内蒙古科技大学毕业设计说明书(毕业论文)
er7string=er7string.replace("\\n","\\r");
Stringxmlstring=exmc.convertER7ToXML(er7string);if(xmlstring!=null){xmlstring.replace("\\r","\\n");textEr7ToXml.setText(xmlstring);}else{}
2.XML格式消息转换为ER7格式消息的类函数
①publicjava.lang.StringconvertXMLToER7(java.lang.Stringhl7encodeedxmlmsg)函数功能:HL7字符串格式转换,将XML格式转换为ER7格式。参数:hl7encodedxmlmsgString:XML格式的HL7字符串返回:String:HL7格式的字符串
②publicjava.lang.String[]convertXMLToER7(java.lang.String[]hl7encodedxmlmsgarray)
函数功能:HL7字符串数组格式转换,将ER7格式字符串数组转换为X组。参数:hl7encodedxmlmsgarray-String[]:XML格式的HL7字符串数返回:String[]ER7:格式的HL7字符串数组例如:
ER7XMLMutualConversionexmc=newER7XMLMutualConversion();Stringxmlstring=textXml.getText();xmlstring=xmlstring.replace("\\n","\\r");
Stringer7string=exmc.convertXMLToER7(xmlstring);if(er7string!=null){
er7string=er7string.replace("\\r","\\n");textXmlToEr7.setText(er7string);}else{}3.主函数main
publicstaticvoidmain(java.lang.String[]args)
函数功能:输入消息类型及消息内容,输出经格式转换后的内容。参数:args-String[]:控制台参数:待转换文件名,输出文件名
内蒙古科技大学毕业设计说明书(毕业论文)
4.3本章小结
本章主要介绍了HL7V2消息解析格式转换,并介绍了HAPI工具包中的四种构造解析器和用到的类函数。
内蒙古科技大学毕业设计说明书(毕业论文)
第五章HL7的影响
由于HL7是医疗信息交换的一种规范的协议标准,或者简单地称之为接口标准,对经营管理者、临床医疗者、医疗顾问、验证单位、学术研究单位、教授与学生等层面的人员均具备重要影响:
1.对经营管理者来说:无论对在政府单位、医疗机构、生物科技业者、生物信息业者或者临床试验业者等方面的经营管理人员而言,HL7均是拓展现有格局与思考全球性潜在商机的重要切入点,在HL7对全球医疗信息化市场的重新洗牌过程中,谁能率先掌握HL7发展趋势与技术,即能具备领先全球化竞争者机会与条件,并能顺利地切入各个区域化的医疗卫生市场。
2.对临床医疗者来说:开发专科临床医疗系统是现阶段整合医疗资源、提升医护品质的重要趋势,因此各医师、护理人员等临床工作者应熟悉必要的HL7协议标准部分以整合专业性的临床医疗信息,协助软件开发者建置适用性高的专科医疗软件为当前临床专业人士的重要发展目标。
3.对医疗顾问来说:对于各种专业不同的医疗产业顾问形态,也即将会透过HL7标准的植入,而容易具备完整性与多元性的发展空间,并且也是其它产业顾问跨入医疗产业非常重要的敲门砖。
4.对验证单位来说:随着医疗产业标准的快速发展,愈来愈多的验证单位录找机会进入医疗市场,而且不再局限于品质验证一隅,而更多注重于能对信息管理、接口标准、信息安全等领域来建立多元化验证制度与专业服务的能力。
5.对信息人员来说:对HL7协议标准做全盘且彻底的了解,将有助于信息人员对整体系统结构的重新思考与完整规划,并加速系统建置脚步,以提升系统运作效能与功能多元化的添加,并积极进行对外系统应用整合的改进。
6.对学术教学来说:由于HL7迅速成为医疗业界重要的发展趋势,因此在教学孕育与学术发展方面,将朝多元化方向迈进,并且由于充分掌握与了解协议标准发展趋势与市场消费性需求,更能成为培育业界所需生力军的有效力量。
正因为HL7的影响面如此广泛和深远,对于我们来说,HL7的研究、开发和应用已经迫在眉睫,用一句话说,则是“如箭在弦,不得不发”。
内蒙古科技大学毕业设计说明书(毕业论文)
第六章总结与展望未来
6.1总结
HL7标准是基于区域卫生信息化建设涉及各个医疗卫生单位之间的数据交换和整合要求。由于很多单位都是自行开发或是软件提供商的开发标准不统一,导致了医疗信息数据交换的难度加大,所提出来的世界性医疗信息传输标准。HL7是由HealthLevelSeven,Inc.(美国)制定和维护、用于不同的医疗系统之间进行医疗数据传递的标准,美国作为当今世界的科技大国,它所广泛应用和发展的医疗信息交换标准HL7,逐渐走上了世界医疗卫生信息技术舞台。
它正引起一场深刻的医学信息管理模式的变革,使得整个医疗服务在更高水平和更大程度上实现医疗信息的自动化,整个医疗环境将发展成一个全球化的虚拟医院。因此,HL7标准作为目前一个国际性公认的公共信息系统间相互支持和应用的标准,符合整个医疗信息行业发展的需要,已经被国内外众多厂商广泛支持与应用。
论文详细介绍了HL7V2标准。在HL7的消息解析及格式转换中,主要是涉及到HL7V2.X医学信息解析,标准格式与XML格式的相互转换。本次设计主要是基于Java编程语言,在应用集成开发环境(IDE)使用Eclipse,它是开放源代码,基于Java的可扩展开发平台。Eclipse附带了一个标准的插集SWT,从而进行界面的设置,同时采用HAPI-0.5.1开源工具包辅助开发,实现对HL7消息自身结构特点进行解析,标准格式与XML格式的相互转换。
6.2展望未来
通过十几年的发展历程,HL7标准得到了长足的发展。它正在医学信息管理模式中发挥巨大的作用,并将引起一场深刻的医疗信息改革,它在很大的程度上实现了医疗信息和服务的自动化,使得整个医疗环境变为一个全球化的虚拟医院。医疗服务的特点将朝着更加全球化、信息化和专业化的方向发展。
医疗信息交换领域的研究具有重要的实际应用价值,论文主要完成了HL7消息的解析和格式转换的工作,从系统的开发和医疗信息交换网络的建设来看,在论文已有工作的基础之上,仍有若干方面有待于更深入的研究和进一步的完善,主要包括:
1.系统采用HL7V2标准开发,实现了HL7V2消息的解析、格式转换的功能。
内蒙古科技大学毕业设计说明书(毕业论文)
2.设计并建设医疗信息交换网络。3.加快HL7标准的本地化工作。
内蒙古科技大学毕业设计说明书(毕业论文)
参考文献
[1]何文强.基于XML的电子病历系统的研究与实现[D].长沙:国防科学技术大学,
201*.
[2]陶达刚.基于中间件技术的医院信息化平台研究与设计[D].成都:四川大学,201*.[3]医学术语国外标准及标准组织[DB/OL]..
[4]金霞,欧宗瑛.基于HL7标准医疗信息交换消息的构建/解析[J].焦作大学学报,
201*,18(1):1273-1275.
[5]肖蒲鲜,钱师宇,孔令人.HIS的目标和医疗信息交换协议[A].HL7第八届全国医
药信息学大会[C].1999.
[6]姚立民,赵辉.基于HL7标准的医疗设备数据接口的研究与实现[J].电子学报,
201*,26(12):35-38.
[7]张翠英,张尚军,徐上凯.医疗信息交换标准-HL7[J].生物医学工程学杂志,201*,
18(1):467-469.
[8]HAPI.[DB/OL].
[9]NHAPI.[DB/OL].
[10]金霞.医疗信息交换中HL7消息的构建/解析和传输关键技术研究[D].大连:大连
理工大学,201*.
[11]医疗环境电子数据交换标准-HL7v3.0的新进展[DB/OL].[12]医学词汇及代码标准的选择[DB/OL].
[13]孙勇.HL7标准在医疗信息交换中的应用[A].第七届中国标准化论坛[C],201*.[14]贾玮.基于HL7标准的医疗信息交换关键研究[D].广州:南方医科大学,201*.[15]李远敏.基于健康标准电子病历数据抽取模式挖掘研究[D],武汉华中科技大学,
201*.
[16]胡永辉.基于HL7的医疗信息系统研究[D].西安:西安电子科技大学,201*.[17]陈志亚.基于HL7的临床信息系统(CIS)开发初探[J].中国卫生信息管理杂志,
201*,16(25):76-79.
[18]张波云.社区智能远程监护系统的数据传输与分析技术的研究[D].广州:华南理工
大学,201*.
[19]胡延平,后国超,刘建伟.HL7Version3消息若干关键技术探讨[J].计算机工程与
内蒙古科技大学毕业设计说明书(毕业论文)
设计,201*,25(9):76-78.
[20]郭冰洁,韩旭,赵媛元.基于HL7V2.x协议的消息解析模型设计与应用分析[J].
辽宁中医药大学学报,201*,17(3):478-479.
[21]范潇.基于HL7V2.x协议的消息构建与存储模型[D].昆明:昆明理工大学,201*.[22]范友志.基于HL7标准的生理参数传输平台设计[D].上海:上海大学通信与信息
工程学院,201*.
[23]韩旭.基于.NETFrameworkWCF的面向服务SOA中间件设计[D].南京:南京理工
大学自动化学院,201*.
[24]TungTran,Hwa-SunKim,HuneCho.AdevelopmentofHL7middlewareformedical
devicecommunication[A].201*.
[25]YungTH,ChengPH,YangCHA.scalablemulti-tierarchitectureforthenational
TaiwanuniversityhospitalinformationsystembasedonHL7standard[C].201*.[26]谷宇.HL7消息解析及传输技术的研究与实现[D].包头:内蒙古科技大学,201*.[27]江捍平.美国卫生信息工作标准HL7跨医疗卫生体系信息交换理论入门[M].北
京:科学出版社,201*:46-50,99.
内蒙古科技大学毕业设计说明书(毕业论文)
致谢
首先感谢我的导师张宝华教授。从论文的选题直到最后的修改,完稿,都是在张老师的耐心指导及谆谆教诲下完成的。张老师深厚的理论基础,渊博的专业知识,丰富的实践经验令我受益非浅。张老师严谨的治学态度,敏锐的学术洞察力令我终身难忘。在此向张老师表示我诚挚的谢意。
同时,我还要感谢内蒙古科技大学的各位老师们,所有给我们上过课的老师,以及给过我帮助的老师们,你们严谨敬业的作风,无私奉献的精神深深地感染和鼓舞着我,让我在今后的人生道路上,也要象你们一样,无私的帮助他人,奉献自我。
感谢我的辅助指导老师,谷宇老师,感谢他的悉心指导和无私帮助。
感谢吕晓琪、赵建峰、张宝华、任晓颖、谷宇和张明老师,在百忙之中抽出时间,对我的论文进行审阅,并提出很多宝贵意见,在此表示深深的感谢!
感谢201*级电子与通信工程专业的同学。感谢你们这段时间来的帮助与关心,感谢你们这四年的陪伴,让我如此充实的度过了四年的学习生活。
感谢我的家人,生活上给予我温暖,学业上给予我支持,在我最困难的时候给我力量,没有你们的关心和付出,我是不可能顺利的完成这四年的学业的。
感谢所有关心和帮助过我的朋友和同学们,让我在点点滴滴中感受到温暖,谢谢你们。
感谢母校的培养,我为自己能成为内蒙古科技大学的一名学生而感到骄傲和自豪,并衷心祝愿母校桃李满天下。
友情提示:本文中关于《XXX公司软件HIS实施人员面试题》给出的范例仅供您参考拓展思维使用,XXX公司软件HIS实施人员面试题:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。