基于HL7标准的电子病历构建及相关技术研究

基于HL7标准的电子病历构建及相关技术研究

ID:77632767

大小:1.56 MB

页数:64页

时间:2024-02-04

上传者:笑似︶ㄣ無奈
基于HL7标准的电子病历构建及相关技术研究_第1页
基于HL7标准的电子病历构建及相关技术研究_第2页
基于HL7标准的电子病历构建及相关技术研究_第3页
基于HL7标准的电子病历构建及相关技术研究_第4页
基于HL7标准的电子病历构建及相关技术研究_第5页
基于HL7标准的电子病历构建及相关技术研究_第6页
基于HL7标准的电子病历构建及相关技术研究_第7页
基于HL7标准的电子病历构建及相关技术研究_第8页
基于HL7标准的电子病历构建及相关技术研究_第9页
基于HL7标准的电子病历构建及相关技术研究_第10页
资源描述:

《基于HL7标准的电子病历构建及相关技术研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

分类号:____________TP399密级:______________公开UDC:____________单位代码:______________10127硕士学位论文论文题目:基于HL7标准的电子病历构建及相关技术研究学号:_________________________200902245作者:_________________________于宁专业名称:_________________________控制理论与控制工程2012年06月06日 内蒙古科技大学硕士学位论文论文题目:基于HL7标准的电子病历构建及相关技术研究作者:_________________________于宁指导教师:吕晓琪教授单位:内蒙古科技大学协助指导教师:单位:单位:论文提交日期:2012年06月26日学位授予单位:内蒙古科技大学 基于HL7标准的电子病历构建及相关技术研究ResearchonConstructionofElectronicMedicalRecordsandCorrelativeTechnologyBasedonStandardHL7研究生姓名:于宁指导教师姓名:吕晓琪内蒙古科技大学信息工程学院包头014010,中国Candidate:YuNingSupervisor:LvXiaoqiSchoolofInformationEngineeringInnerMongoliaUniversityofScienceandTechnologyBaotou014010,P.R.CHINA 独创性说明本人郑重声明:所呈交的论文是我个人在导师指导下进行的研究工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得内蒙古科技大学或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。签名:___________日期:____________关于论文使用授权的说明本人完全了解内蒙古科技大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。(保密的论文在解密后应遵循此规定)签名:___________导师签名:___________日期:____________ 摘要随着医疗信息化建设的不断深入以及电子病历系统的广泛应用,区域医疗体系的建立已成为趋势,迫切的需要提高医院与医院、医保中心或其他外部机构之间的数据共享能力和医院内部不同医疗信息系统之间的数据交换能力。在目前的医疗信息产业中,医疗应用系统都由各系统开发商独自开发,没有彼此交换及传递数据的考虑,如医院信息系统HIS(HospitalInformationSystem)、医学影像管理与通信系统PACS(PictureArchivingandCommunicationSystems)以及医疗保险应用系统等,各系统之间难以顺畅地进行医疗数据交换。HL7(HealthLevel7)CDA(ClinicalDocumentArchitecture)标准的出现为解决此难题提供了技术基础条件。HL7CDA标准的制定是以交换文档为目的的,利用结构性很好的XML语言进行元素标记,涵盖了一套完整的层级规范,并且支持很多国际医学信息标准,例如国际疾病分类标准(ICD)、医学系统命名法-临床术语(SNOMED-CT)以及观测指标标识符逻辑命名与编码系统(LOINC)等,CDA文档可以在HL7消息中进行传输,对实现结构化的电子病历以及异构医疗信息系统之间的信息交换是大有裨益的。论文在对医疗信息标准和结构化病历进行深入研究的基础上,从HL7参考信息模型的实施技术规范入手,在充分了解医院管理方式和工作流程后,设计了适合结构化的电子病历内容模型。同时详细分析了CDA文档的层级结构、结构化实现原理、CDA文档在医疗过程中的适用范围和作用,通过XML语言、Java语言及MDHT开源工具包等技术手段,基于Eclipse平台开发了一款结构化电子病历构建系统。该系统实现了结构化电子病历的构建功能,并可以将CDA文档进行解析、验证和XSL显示,达到了预期目的,对实现标准化的、结构化的电子病历系统以及HL7CDA标准本土化具有重要的现实意义。关键词:HL7CDA标准;电子病历;CDA文档构建;解析;验证I AbstractWiththedevelopmentoftheMedicalInformatizationConstructionandthewideuseofelectronicmedicalrecord(EMR)system,itwilltobeatrendtoestablishtheregionalmedicalsystem.So,itisimportanttoimprovetheabilityofdatesharinganddateexchangeamonghospital,MedicalInsuranceCenterandotheragencies,andenhancecapacityofdataexchangebetweendifferentmedicalinformationsystemsinahospital.ThepresentoftheHealthcareInformaticsindustry,medicalapplicationsystemsaredevelopedbysystemdevelopersseparatelywithoutconsideringdateexchangeanddatetransfereachother,suchasHospitalInformationSystem,PictureArchivingandCommunicationSystemsandmedicalinsurancesystemwhicharedifficultinsmoothlydataexchange.TheappearanceofHL7standardprovidestechnicalconditionsandinfrastructureinsolvingtheproblem.HL7CDAisusedtoexchangedocuments,andmarkupelementswithXMLwhichiswithgoodstructure.Thestandardincludesthefulldocument-levelspecification,andsupportsmanyinternationalmedicalinformationstandards.Forexample,InternationalcodeofDiseases(ICD),SystematizedNomenclatureofMedicine--ClinicalTerms(SNOMED-CT),LogicalObservationIdentifiersNamesandCodes(LOINC)andsoon.TheCDAdocumentcanbetransmittedinanHL7message.ItisgoodforachievingstructuredEMRandinformationexchangebetweenheterogeneousmedicalinformationsystems.BasedonthefurtherstudyofthemedicalinformationstandardizationandstructuredEMR,thispaperstartsfromtheimplementationoftheHL7referenceinformationmodel.ThestructuredEMRcontentmodelisdesignedafterunderstandingthemanagementmodeandworkingprocedureofhospital.Meanwhile,CDAdocumenthierarchies,structuresofimplementationprinciple,thescopeandroleofCDAdocumentsinthecourseofmedicalareanalyzedindetail,andthenastructuredElectronicMedicalRecordsBuildingSystemisdevelopedbaseontheEclipseplatformandthroughtheXMLlanguage,JavalanguageandMDHTopensourceToolkitandothertechnicalmeans.Inthesystem,structuredelectronicmedicalrecordscanbeimplementedandCDAdocumentcanbeparsed,validatedandXSLdisplayedsotheexpectedpurposeisreached.AllofwhichhasanimportantpracticalsignificanceforthestandardizationandstructuredEMRsystems,andlocalizationoftheHL7CDAstandard.KeyWords:HL7CDAStandard;ElectronicMedicalRecords;CDAII DocumentStructuring;Parsing;ValidationIII 目录摘要........................................................................................................................IAbstract..........................................................................................................................II1绪论......................................................................................................................-1-1.1课题研究背景及意义.................................................................................-1-1.2电子病历的研究及应用现状.....................................................................-2-1.2.1国外电子病历的研究及应用现状...................................................-2-1.2.2国内电子病历的研究及应用现状...................................................-3-1.3国际医学信息标准化工作发展现状.........................................................-4-1.3.1国际标准化组织(ISO)医学信息标准化工作.............................-4-1.3.2美国医学信息标准化工作...............................................................-5-1.3.3英国医学信息标准化工作...............................................................-6-1.3.4我国医学信息标准化工作...............................................................-6-1.4医学信息标准化相关标准和规范.............................................................-7-1.4.1医疗交换标准(HL7)....................................................................-7-1.4.2国际疾病分类标准(ICD)............................................................-8-1.5论文主要研究工作与结构安排.................................................................-9-2HL7CDA标准..................................................................................................-11-2.1HL7CDA标准简介..................................................................................-11-2.2HL7CDA文档结构..................................................................................-12-2.3HL7CDA文档头......................................................................................-13-2.4HL7CDA文档体和节..............................................................................-13-2.4.1非结构化的文档体.........................................................................-13-2.4.2结构化的文档体.............................................................................-13-2.4.3结构化的文档节.............................................................................-13-2.4.4编码的数据项.................................................................................-14-2.5CDA文档和HL7消息的联系.................................................................-14-3XML技术............................................................................................................-15-3.1XML简介..................................................................................................-15-3.2XML文档的构成......................................................................................-15-3.3XML的特点..............................................................................................-17-3.4XML的相关技术......................................................................................-17-3.4.1DTD和XMLSchema.....................................................................-17-3.4.2XSL(可扩展样式表语言)...........................................................-18-3.4.3XPath(XML路径语言)..............................................................-19-3.4.4XQuery(XML查询语言)...........................................................-20--1- 3.4.5DOM与SAX解析..........................................................................-20-4基于HL7CDA标准的电子病历模型设计及技术研究..................................-22-4.1结构化电子病历内容模型设计...............................................................-22-4.1.1实体类设计.....................................................................................-22-4.1.2角色类设计.....................................................................................-23-4.1.3参与类设计.....................................................................................-24-4.1.4动作类设计.....................................................................................-25-4.1.5关系类设计.....................................................................................-26-4.2结构化电子病历构建技术研究...............................................................-27-4.2.1结构化文档头的创建.....................................................................-27-4.2.2结构化文档体的创建.....................................................................-31-4.2.3IHEPatientCareCoordination.........................................................-34-4.3结构化电子病历解析技术研究...............................................................-35-4.4结构化电子病历验证技术研究...............................................................-36-4.5结构化电子病历显示技术研究...............................................................-36-5结构化电子病历构建系统研究及实现.............................................................-38-5.1系统功能模块设计...................................................................................-38-5.2系统开发环境...........................................................................................-39-5.3功能模块详细说明...................................................................................-39-5.3.1CDA电子病历构建模块.................................................................-39-5.3.2CDA电子病历解析模块.................................................................-44-5.3.3CDA电子病历验证模块.................................................................-45-5.3.4CDA电子病历显示模块.................................................................-46-6总结和展望.........................................................................................................-48-6.1论文工作总结...........................................................................................-48-6.2展望...........................................................................................................-48-参考文献...........................................................................................................-50-在学研究成果.........................................................................................................-54-致谢...................................................................................................................-55--2- 1绪论1.1课题研究背景及意义近年来,随着我国医疗卫生事业的发展和改革的不断深入,我国医院信息化建设取得了较大的成就,尤其是电子病历系统在医院得到了广泛应用,提高了医疗工作的效率和质量,减少了医疗纠纷,为领导者提供了有效的管理与决策支持。电子病历系统是医院核心业务对知识管理的需求,是医院信息系统战略目标之[1]一。病历是医院的核心,也是医院所拥有的知识的总和。从这个角度来说,电子病历系统就是医院的知识管理系统,如何实现以病历为载体的知识收集、整理、共[2]享和应用是建设电子病历系统的目的,同时也是医院核心业务的需求。电子病历系统还可以极大地减少医疗事故的发生概率,将医生从每天写大量的病历工作中解放出来,使医生可以把精力更多地放在为病人诊断上,并且为医院智能化的决策支持系统提供知识源,极大地提高了医院的服务水平和工作效率。随着电子病历系统的广泛应用,医学信息标准化的重要性、迫切性也日益显露出来。从1996年开始,全国各地陆续开展医院信息化的工作,从而揭开了我国医院数字化建设的序幕,如已普遍采用了ICD-10或SNOMED-CT等国际标准来对疾病和临床术语进行编码。但我国卫生信息标准化建设还存在着许多问题,现有卫生信息标准数量不多,应用面小,未成体系,未与国际接轨,各个医院的病人编号、各种医疗行为和药品等代码均为医院自行编制,导致病人在一定区域内中各个医院的诊疗信息不能得到有效共享。在病人住院的过程中,还要涉及到与医疗保险中心的信息交互,但是由于没有标准化的接口,所以每个医院与医保中心的交互方式都是不尽相同的,这就有可能导致一个收费项目要与多个不同的医保中心及不同类别的[3]多个收费项目相对应。这些问题的普遍存在,使医院信息化建设中要投入更多的人力物力,既造成效率低下的医院办公环境,又阻碍了区域医疗信息的共享。所以研究符合标准化、结构化的电子病历构建系统是未来充分利用电子病历价值的最佳方向。近年来,随着HL7标准越来越广泛的被接受和应用,美国、欧洲和日本等发达国家已经在他们国内全面推行HL7标准并进行本地化研究,大量医疗信[4]息系统都采用HL7标准进行传输与信息共享,取得了较好的效果。而在我国,由于对医院信息化建设工作的开展起步较晚,对医疗信息标准化的研究更是从近几年[5]才开始,各医院正在使用的医疗信息系统中支持HL7标准的还很少。在这种背景下,本文设计并实现基于HL7标准的电子病历构建系统,并研究实现其相关技术,为以后区域医疗信息共享和个人电子健康记录的建立奠定了基础。-1- 1.2电子病历的研究及应用现状1.2.1国外电子病历的研究及应用现状美国是最早开展医疗信息化建设的国家,并且美国因医疗事故导致的极高的死[6]亡率,更是增加了美国每个领导人及美国民众对医院信息系统研究的极大重视,[7]并投入了大量的资金和人才,这使得美国的医院信息化总体水平比较高,克林顿总统更是宣称在2010年之前美国医院使用电子病历系统的比例要占到全国的90%以上。美国医药研究所先后两次开展了电子病历进展情况的研究,并分别于1991年和1997年出版了电子病历研究进展报告,对电子病历的概念、意义、进展及存在的困难进行了综述。虽然美国政府对电子病历的发展表示极大地重视,但是由于医生水平、民众意识等多方面的原因,现今美国真正意义上的电子病历系统应用只占到了[8]美国所有医院的50%左右。英国也是较早进行医院信息化建设的国家之一。英国已将电子病历的IC卡应用[9]于孕妇孕期信息、产程启示及跟踪观察。随着电子病历系统的不断应用和发展,英国开展了国家健康服务战略(NationalHealthService,NHS)。此战略的目标是为[10]每一个公民建立终生的电子健康记录。在亚洲,日本的医疗信息化建设基本实现了诊疗过程的数字化、无纸化和无胶片化,并且电子病历系统应用已经非常普遍。特别是临床医生和护士工作站整合了[11]各种临床信息系统和知识库,功能强大、操作方便。新加坡的电子病历应用程度也达到了较高的水平。这些国家和地区已经成立了专门的研究机构,把电子病历系统作为一个重点课题研究,组织医疗单位实施和普及。近几年来,随着计算机技术的发展,电子病历新技术更是层出不穷,国外很多医学刊物都有这样的文章,体现了电子病历的广泛应用前景。现列举一些如下:(1)完成了很多针对专科、专病的病历模板。例如,烧伤治疗康复杂志2002年7-8月的一篇文章提到,某医院的烧伤外科为了进行医学信息统计,制作了专为烧伤病人所用的入院、出院记录、现病史、既往史和住院记录等多种模板,使医生通过鼠标就能够完成大部分的病历书写。(2)图像处理技术的提高的同时,也丰富和方便了电子病历的使用。病理实验医学档案杂志2002年5月得一篇文章中说道,运用一体化的医生工作站系统来存储和分配医学图像。我们所有的医生工作站系统通过技术的标准化和采用网络界面,使医学图像能从病理学数据库下载到每个医生的桌面,同时医生也可以通过此系统将得到的医学图像上传到数据库中。(3)输入和提取资料的设备更新、方法改进。2002年4月卫生系统杂志报-2- 道,日本人研制了一种新的分类方法,用自然语言作为人与计算机的接口。这种方法称之为状态指向病历,它在病历框架的某种状态内用人们识别力的视觉来描述变化,对目前病人转换医院时用自然语言进行的医学交流进行了分析,还创造了一种标准系统,来帮助计算机实现这种交流。(4)国外智能化电子病历的发展。国外电子病历系统的临床决策支持已经可以对医生所有的活动提供指导,并且形成了闭环式的用药系统。电子化的用药管理记录和条形码及其他自动表示技术也被应用到药房系统,以最大化病人用药过程中的安全。医疗信息可以通过互联网进行交换,可与区域卫生信息网络内的所有实体进行信息共享。(5)个人医疗信息的共享与交流功能。随着网络技术的广泛应用,医生可以在病房、家中或其它任意地点随时获得患者的病历信息。同时这也带来了医学信息标准不足导致的不能准确读取信息的问题。目前,美国国家医学图书馆已经制定了统一医学用语系统。这一系统包括了近100万个术语描述医学概念。一旦系统得以推广,将极大地促进全球医学用语的标准化。1.2.2国内电子病历的研究及应用现状经过20过年的发展,我国多家医院信息系统已有了较大的进步。到目前为止,解放军301医院的电子病历覆盖了病人信息的80%左右。301医院的一些大的检查科室,例如检验科、放射科、超声、病历、核医学和内镜等大部分检查已经实现了电子化,占到所有检查的70%以上。在临床这一重要部分,门诊医生站、住院医生[12]站、处方、医嘱、护理记录这些均已完成数字化。北京安贞医院电子病历使用率[13]更是达到了90%以上,并且引进了HL7标准进行了本地化研究。在上海,一张智能化医疗网络已覆盖全市23家市级三甲医院,以及长宁、卢湾和闸北等4个地区的二级医院。国内电子病历多采用Word格式,由医生自行选择习惯的模板,极大地方便了病历的录入,减轻了临床医生书写病历的负担,而且形式外观上也能很好地符合[14]各地卫生政府部门的规范要求。我国各地已有很多医院与软件公司合作对电子病历进行了一些基础性的研究,并取得了阶段性的成果。如中国人民解放军总医院在北京市自然科学基金和总后卫生部的支持下已经对电子病历进行了一些研究。他们取得的成果主要包括:(1)建立了病历内容的XML描述结构。(2)提出了以病人信息归档为手段的电子病历集成方法。(3)提出了电子病历服务平台的概念和方法。(4)提出了病历内容安全控制方案。-3- (5)开发了一套基于XML的电子病历编辑、存储管理、浏览服务的基本的电子病历系统。(6)提出了初步的电子病历应用规范构想。尽管电子病历有广阔的前景,但是目前还是具有很大的困难。由于国内的医院信息标准化建设起步较晚,缺乏行业规范标准,各个医疗信息系统的软硬件来自于不同厂商,电子病历系统之间的信息交换非常困难。表现形式上也局限于文字的处[15]理,还没有真正体现出计算机化管理的优势。此外,国家在政策、法律上尚未对电子病历有明确的要求和规范,这些因素制约着国内电子病历的发展。1.3国际医学信息标准化工作发展现状1.3.1国际标准化组织(ISO)医学信息标准化工作国际标准化组织(InternationalOrganizationforStandardization,ISO)在国家标准化活动中占据主导地位,它是由各国标准化团体(ISO成员团体)组成的世界性的联合会。ISO成立于1947年,是一个非政府组织,ISO的目的和宗旨是:“在全世界范围内促进标准化工作的发展,以便于国际物资交流和服务,并扩大在[16]知识、科学、技术和经济方面的合作”。ISO负责除电工、电子领域和军工、石油、船舶制造之外的很多重要领域的标准化活动。ISO现有117个成员,包括117个国家和地区。ISO的最高权力机构是每年一次的“全体大会”,其日常办事机构是中央秘书处,设在瑞士日内瓦。目前已经发布的ISO标准及其技术规范与技术报告有:ISO/TS17090-1:2002卫生信息——公共要素信息结构——第1部分:框架与概述定义了公共要素信息结构(PKI)的基本概念,并提供了协同工作所需要的计划表,建立公共要素信息结构以保证卫生信息的通信。它同时定义了卫生信息通信中的参与者以及主要的安全设施等。ISO/TS17090-2:2002卫生信息——公共要素信息结构——第2部分:证书属性简要介绍了PKI的密码使用方法及PKI的基本组成部分。ISO/TS17090-3:2002卫生信息——公共要素信息结构——第3部分:政策管理及证书授权提供证书管理的指导方针。ISO/TS17117:2002卫生信息——受约束的卫生术语——结构及高水平的指标-4- ISO/TS18104:2003卫生信息——护理参考术语模型的综合介绍了护理诊断,护理行为以及相关的护理术语模型,为其它模型提供参考。ISO/TS18307:2001卫生信息——消息及通信标准的互用性及兼容性——关键特征ISO/TS18308:2004卫生信息——电子健康记录结构要求集合和比较了电子健康记录的临床及技术上的要求,以便在不同的系统中的使用。ISO/TS18812:2003卫生信息——临床分析仪器与实验室信息系统的交互——使用概要定义了分析仪器与实验室系统之间交换数据的基本信息。ISO/TS21549-1:2004卫生信息——病人健康卡数据——第1部分:一般结构为了讨论一个多部分的国际标准,这个标准为有限制的临床数据提供数据结构和定义。这些数据在病人所持有的健康卡中使用。ISO/TS21549-2:2004卫生信息——病人健康卡数据——第2部分:一般目标ISO/TS21549-3:2004卫生信息——病人健康卡数据——第3部分:有限制的临床数据ISO/TS21667:2004卫生信息——卫生指标概念上的框架建立了一个基本的卫生指标概念上的框架,制定普通的语汇表及定义。ISO/TS22857:2004卫生信息——个人卫生信息传输的数据保护指导方针以上标准中,前面标有ISO的是由ISO负责的国际标准,斜杠后的TS(technicalspecification)表示技术规范,TR(technicalreport)表示的是技术报告[17]。1.3.2美国医学信息标准化工作美国国家标准局(NationalBureauofStandards,NBS)是美国唯一的一个全国性官方标准化机构,NBS为美国标准的开发和推广起到了关键性的作用。美国国家标准学会(AmericanNationalStandardsInstitute,ANSI)实际上已经成为美国的国家标准化中心,美国大部分行业的标准化活动都由它组织策划。美国卫生信息的收集、制定和推广工作也是由它旗下的卫生保健信息标准委员会负责的[18]。美国的医疗卫生信息标准化已经达到了很高的程度,不仅有其国内的标准,还应用了很多著名的国际标准,例如信息交换标准HL7、医学图像标准DICOM、国[19]际疾病分类ICD-9、ICD-10和临床术语标准SNOMED等。-5- 对于卫生信息的标准化体系而言,由于美国社会的多元性和自由化状态,形成了美国独特的分散化标准体系。美国官方制定和发布标准,学术组织、团体及企业也制定和发布标准。1.3.3英国医学信息标准化工作英国的卫生信息标准化系统是完全不同于美国标准化系统的体系,它完全是由政府机构管理。这种信息标准化体系与其国内实施的国家卫生保健制度(NationalHealthService,NHS)有着直接的关系。英国国家卫生保健制度属于典型的全民医疗制度,卫生资源的分配都是有着严格的计划,所以其政府统一管理的标准化方式能有效地进行医疗卫生信息的交换和管理。英国国家卫生局于1994年4月成立了卫生信息管理机构,专门负责制定有关临床数据标准,技术标准及管理信息标准的信息标准委员会。其出版的数据字典和数据手册是关于卫生信息的国家通用标准。并于2001年10月出版了最新版本的《NHS数据字典&数据手册1.2》合订本。目前英国也在使用ICD-10、ICD-9CM、[20]CPT4标准编码、OPCS-4标准编码、RECODE和SNOMED系统等标准。1.3.4我国医学信息标准化工作卫生部1998年4月发布了《医院信息系统(HIS)软件基本功能规范》(试行),2002年卫生部重新制定并发布了《医院信息系统基本功能规范》。在2003年要将《规范》作为重点信息化标准,加大贯彻实施力度,要求各医院以此规范为依据,建立医院信息系统,科学规范医院业务流程,为病人提供高效、低耗、方便、快捷的医疗卫生服务。卫生部于2003年3月24日下发《全国卫生信息化发展规划纲要2003-2010年》在《纲要》中明确提出,要加快卫生信息化标准制定,建立、健全卫生信息化建设规章和政策,创建良好的卫生信息化发展环境。卫生部于2006年5月发布了《中国医院信息基本数据集标准1.0版》草案(征求意见稿),是近年来卫生部委托研制的最重要的医药信息标准之一,将对我国医院乃至整个医疗卫生信息化的进程起到积极的推动作用。卫生部电子病历委员会于2007年10月份发布《临床检验结果共享互操作性规范》,是国内第一份医疗信息系统互操作性集成规范。上述规范基于国际标准(IHE-XDS跨机构临床文档共享规范),定义了在不同机构之间临床结果数据互联互通的集成方式。-6- 卫生部于2009年1月发布了《卫生信息数据元标准化规则》(WS/T303-2009)、《卫生信息数据模式描述指南》(WS/T304-2009)、《卫生信息数据集元数据规范》(WS/T305-2009)、《卫生信息数据集分类与编码规则》(WS/T306-2009),以上标准于2009年8月1日起实施。国家卫生部在2009年发布的《电子病历基本架构与数据标准(征求意见稿)》中的“标准化原则”中提出了等同性原则,明确的表示为实现与国际接轨、少走弯路,尽量遵循、等同采用目前卫生领域已有的国际、国内普遍应用的成熟标准,如国际疾病分类代码(ICD)、HL7临床文档架构(CDA)等。1.4医学信息标准化相关标准和规范1.4.1医疗交换标准(HL7)HL7组织成立于1987年,其总部位于美国密歇根州的安阿伯市,同时在多个国家拥有分部,是美国国家标准局承认的标准制定组织。HL7组织为多个卫生领域如药品、医疗文档、医学影像和保险业务等制定标准,主要从事医疗卫生信息和电子[21]数据交换的标准开发。HL7标准是医疗卫生行业不同系统之间电子数据传输的协议,是由HL7组织制定并由美国国家标准局批准实施的一个行业标准。HL7标准主要用于各型医疗信息系统间的信息交换,制定临床、保险、管理、行政及检验等各项电子资料的标准。HL7标准规范了临床医疗文档和医院管理信息,降低了不同医院信息系统之间的互[22]联成本,提高了不同医院信息系统之间信息传递的效率。HL7标准的应用范围是医疗卫生服务及相关领域的数据信息交换,其主要内容包括:病人个人信息管理;病人医疗行为信息管理,如病人入院、出院和转院信息;医疗服务管理,如挂号、验血、X光、用药,医疗设备及饮食服务项目的管理;病人费用信息管理,如病人交费,医疗保险理赔、支付;临床文档管理,如病[23]人病历、检查、化验结果报告;医疗服务预约管理。HL7标准是基于国际标准组织采用开放式系统互连(OSI)模型的第七层——应用层制定的。因此,HL7可以应用于多种操作系统和硬件环境,也可以进行多应[24]用系统间的文件和数据交换。HL7有以下实现方法:1.采用点对点通信方法以实现不同系统的对接;2.采用HL7服务器的方法实现,HL7Server实际上是应用服务器,形成基于HL7接口的中[25,26]心数据库,这样可以减少接口数量,提高系统可靠性。-7- HL7标准实施规范制定了三种数据传输方法来保证HL7消息的可靠性:在消息发送端和消息接收端制定信息内容和格式标准,按预设的标准内容和格式发送和接受信息;在消息发送前要检测消息接收端的工作响应状态;接收端按预设内容和格式接收信息后要判断消息的正确性,并根据情况分别返回接受正确、错误和拒绝三[27,28]种信息,后两种情况下通知信息发送端重新发送。HL7近年来逐步在医院信息系统中得到应用,国内的IHE-CHINA组织的连通性测试表明,国内一些医疗IT已开始采用HL7进行数据传输。1.4.2国际疾病分类标准(ICD)国际疾病分类(Internationalclassificationofdisease,ICD)已有了一百多年的发展历史,1891年国际统计研究所组织了一个对死亡原因分类的委员会,由耶隆.佰蒂隆(JacquesBertillon,1851-1922)任委员会主席;1893年耶隆.佰蒂隆在国际统计大会上提出了一个分类方案系统,包括三个死亡原因分类方案,即为ICD的第一版,此后大约每10年修订一次。1946年由世界卫生组织(WorldHealthOrganization,WHO)召开第六次修订时,首次引入了疾病分类,并强调继续保持按病因分类的哲学思想。1975年在日内瓦的第九次修订,即目前全球通用的ICD-9版本,与1979年正式使用。1989年在日内瓦召开了第十次修订会议,即为ICD-10,全名为“疾病和有关健康问题的国际统计分类”,强调了ICD系统为疾病统计服务[29]的目的和反应保健领域的内容,于1996年正式使用。ICD疾病分类是根据疾病的某些特征,按照一定的规则将疾病分门别类,如A00-A09肠道传染病,A15-A19结核病等。ICD是按疾病的病因、部位、临床表现(包括症状、体征、分期、分型、性别、年龄、急慢性、发病时间等)和病理四种特征来分类的,每一特征构成了一个分类标准,形成一个分类轴心,因此ICD是一个多轴心的分类系统。ICD的主要分类编码如下:ICD有三个层次,首先是类目,类目下分亚目,亚目下分细目。通常在同一个层次的分类都是围绕疾病的一个特征,即围绕一个轴心展开的,但也有两个轴心的个别情况。例如,第一章“某些传染病和寄生虫病”的各个类目,都是以病因为分类标准,但在类目下的亚目分类,个别情况有两个分类轴心:A19粟粒性结核病的亚目,A19.0至A19.8的分类轴心是以为轴心,而这个类目的主要分类轴心是临床表现的急慢性。两个层次之间则是从属关系,细目从属于亚目,亚目从属于类目,[30]下层继承上层。-8- 目前,ICD-9和ICD-10在国内普及率比较高,HIS、CIS、病案统计等系统都采用ICD-9和ICD-10来表示疾病或诊断代码。1.5论文主要研究工作与结构安排近年来,我国电子病历系统的发展十分迅速,已经能够满足各个医院的应用需求。但是,医院卫生信息化建设的一下阶段的发展方向是区域卫生信息化建设,而我国缺少大量的医学医疗卫生信息交换标准是区域卫生信息化的极大障碍。因此,我们有必要研究并建立一个在结构和语意上都可以实现互操作的信息交换标准。我们不必花费大量的精力去创建一套新标准而是应该借鉴国外先进的医疗卫生信息交换标准并实现本地化,从而以最小成本和最快速度达到区域卫生信息化的要求。而本研究室往届的谷宇师兄和本届的贾伟涛同学也分别实现了基于HL7V2.X和HL7V3标准的医疗信息的传输和解析。同时,HL7CDA(ClinicalDocumentArchitecture)标准规范了临床病历在交换过程中的数据结构,在语法和语义上都实现了互操作,并在国外取得了非常好的效果和广泛的应用。在此背景下,本课题就选取HL7CDA标准作为以实现电子病历信息交换功能的结构标准,并以CDA文档构建、解析、验证、显示作为主要研究内容。论文全文分为七章,各章节的主要内容安排如下:第一章:介绍课题的研究背景和研究意义。查阅文献研究电子病历在国内外的发展状况和国内外医院信息标准化的建设情况,对国际上应用比较广泛的卫生信息标准进行简单介绍。第二章:对HL7CDA标准进行了详细解析。对HL7CDA标准的组成、各个文档部分的结构和技术规范进行详细的分析。介绍HL7标准如何实现结构化的电子病历信息,最后将CDA文档与HL7消息进行对比。第三章:对XML技术标准进行了详细介绍。详细介绍了XML文档的构成和特点。深入研究XML语言的5个重要相关技术:DTD与XMLSchema、可扩展样式表语言XSL、XML路径语言XPath、XML查询语言XQuery和DOM、SAX两种XML文档解析技术。第四章:设计基于HL7CDA标准的电子病历构建模型。设计了电子病历内容模型中的5大类:实体类、角色类、参与类、动作类与动作关系类。研究了结构化电子病历构建的实现方法和步骤,并对结构化电子病历的相关技术包括解析、验证和显示进行了研究实现。第五章:结构化电子病历构建系统设计及实现。说明了结构化电子病历构建系统的组成,详细介绍了系统的几个功能模块和它们之间的关系。-9- 第六章:总结与展望。论文对研究工作做出详细地总结和归纳,并对今后的研究工作进行展望。-10- 2HL7CDA标准2.1HL7CDA标准简介HL7临床文档结构(CDA)的制定是以交换文档为目的的,一种指定结构和语[31]意的文档标记标准。临床文档中包括观测、服务等,并有以下特点:(1)持续性。CDA文档主要是用来规范病人的病历信息的,所以CDA文档不是一次性的HL7消息,是需要反复使用的,这就需要CDA文档在一定的范围和时间内保持不变。(2)可操作。CDA文档是需要被某个人或组织维护的,例如医生修改或者续写病历,医院对病历进行存档和调用。(3)可鉴定。CDA文档是具有法律意义的,是可以被用作证据使用的。(4)整体性。CDA文档是一个完整的对象,不是被分割开的部分对象。(5)可读性。CDA文档是可以被人或机器所阅读的。临床文档是一个完全的信息对象的定义,它包括文本、图像、声音和其它多媒[32]体内容。其具有以下三个特性:(1)标记CDA用的是XML语言。(2)CDA标准继承了HL7标准中的参考信息模型和HL7标准第三版的数据类型。(3)完整的CDA文档包括了具有三层的层级结构,这个层级体现了CDA文档的结构特性。CDA标准适用的范围是医院病历、医嘱和药方等文档的交换标准。CDA标准中没有规范这些文档当中的具体内容,而这些文档的具体内容在HL7标准的参考信息模型中已经定义了,CDA标准只对需要交换的临床文档的结构和语意制定了规范。CDA可以利用MIME技术和HL7消息为载体进行传输。虽然此规范指定了如何在HL7消息中打包CDA文档,但承载CDA文档的HL7消息的规范在标准中没有定义。CDA标准中也没有指定文档由谁来管理,可以由医院、保险机构或者其他[33-35]卫生组织来管理。临床文档架构CDA是一个医疗文档传输时所必须遵从的框架,CDA同时具有对语法和语义支持。CDA对语法的支持是通过对所有的医疗文档进行仔细分析后生成一个标准框架,使得医疗文档具有良好的互通性。对语义的支持是通过使用统一的术语标准和值域,如LOINC(LogicalObservationIdentifiersNamesandCodes),SNOMEDCT(SystematizedNomenclatureofMedicine--ClinicalTerms)等,才能实-11- 现语义的互操作。因此,CDA可以同时实现语义和语法的互操作,是真正的互操作。2.2HL7CDA文档结构一个CDA文档由一个文档头和一个文档体组成,分别是“CDAHeader”和“CDABody”。CDAHeader确定了文档的分类,提供了文档信息、受访数据、服务提供者和服务接受者等。文档信息标识了文档,定义了机密性状态,描述了与其它文档或单据间的关系,在电子病历系统应用中主要表现为电子病历的类别、病案号、管理机构等信息;受访数据描述了文档受访开始,在电子病历系统应用中主要表现为疾病的描述,例如主诉、病史、诊断、诊疗计划等;服务提供者包括了鉴别文档人的信息,获取文档拷贝人的信息,文档生成者和录入者信息等,在电子病历系统应用中主要表现为主治医生信息、记录医生信息、审核人信息等;服务接受者包括患者,其它有意义的参与者,和那些可能产生部分内容的设备,在电子病历系统应用中主要表现为病人信息、病人家属信息、检查设备信息等。CDA文档体中所包括的是病人在诊疗过程中产生的详细的诊断报告,它可以用自由化文本来表[36-38]述,也可以由结构化体(StructuredBody)组成。CDA文档结构如图2.1所示,结构化的CDA文档体由多个递归并可嵌套的文档节(Section)组成,每个文档节都包含一个自由化文本的叙述块(NarrativeBlock)和不限数量的CDA文档条目(Entry),在CDA文档条目中还可以包含外部引用及多媒体信息。CDADocumentHeaderBodySectionNarrativeClinicalStatementCodeCodeCDACDAEntryCodeEntryCDAEntry...图2.1CDA文档结构-12- CDAlevel的建立是为了区分一个交换内容中的临床文档可以被计算机处理的程度。第一级(Level1):CDA实例需要满足CDAR2标准的校验需求,不强制使用任何entry和section元素。第二级(Level2):在第一级基础上,指定需要强制使用section元素。第三级(Level3):在第二级基础上,指定需要强制使用entry元[39]素。2.3HL7CDA文档头CDA文档头的目的是要将文档看作一个整体来设置内容,使临床文档在机构内部和之间进行交换,不仅方便了临床文档管理,还简化了将患者临床文档的信息录入其终身电子记录的过程。CDA文档由开始,以结束,中间包括文档头和文档主体。文档头处于之间,对文档进行标识和分类,其中包含鉴定、就诊、患者和相关服务提供者的相关信息。2.4HL7CDA文档体和节2.4.1非结构化的文档体CDA中的容器包含一个非XML格式的文本文档体。CDA不是编码数据类型,它是仅用于参考存贮在CDALevel1文档外部的数据的。要在XML文档中合并non-xml数据,需要一个能识别MIME多媒体文件类型的工具。2.4.2结构化的文档体CDA出现在元素中。所有CDA文档都要么有一个元素,要么有一个数据段。包含一个或多个

元素。有一个可选的局部标识,一套可选的机密性状态标记,还有一个可选的生产源。人类语言字符集是由xml:lang属性指定的。2.4.3结构化的文档节
是一个可以包裹其它容器的容器。一个
可以在中出现,也可以在另一个
中嵌套出现。
有一个可-13- 选的元素,接着是嵌套的
元素和结构,最后是可选可重复的元素。每个
有一个可选的局部标识,一个可选的机密性状态标志,一个可选的生产源。人类语言字符集是由xml:lang属性指定的。CDA是一个容器的标签。元素可以在
或元素中出现。
元素包含纯文本或链接,也可以用元素来编码。是可选的,不可重复的,必须的的第一个元素位置出现。的词汇域文档节类型域是由LOINC外部定义的。2.4.4编码的数据项CDA插入HL7认可的编码方案进CDA文档。当没有HL7认可的编码值存在时,可定义局部的编码。在CDALevel1中可以自由使用,其主要目的是便于文档索引,查找和修补,也提供了一个插入局部意义的编码的标准协定。可以出现在的
或表格单元
中。一个包含一个可选的实例标识,一个值定义为HL7概念描述数据类型的。每个有一个可选的局部标识,一个可选的机密性状态标志和一个生产源。元素可以明确地参考一个文档内部的其它支持的代码。这个过程包括:(1)给包裹需要参考的文本的元素指派一个XMLID属性。(2)CD数据类型的源文本属性(originalText)参考到适当的ID属性。(3)元素可在定位在文档的任何合法位置。2.5CDA文档和HL7消息的联系CDA以交换信息为目的,明确了临床文档的结构和语义(例如出院总结、过程记录等等)。目前范围已经扩大到了应用层(例如,用CDA来进行实验室结果报告或处方交换)。用户经常会对HL7文档和HL7消息之间的界限,即什么时候使用文档,什么时候使用消息这一问题产生疑问。这个问题是有些模糊的地方,但是消息流是暂时的、以触发事件为基础的、非持续性的;而文档是可持续的、整体的、[40]经过临床医生鉴定的,可阅读的。-14- 3XML技术3.1XML简介XML(ExtensibleMarkupLanguage)是由万维网联盟(W3C)创建的,是一种用来描述数据信息的新型的标记语言。XML起源于1986年由国际标准化组织批准的标准通用标记语言。XML可以让用户定义自己的标记语言,从而在XML文件中描述并封装数据。XML的独特之处在于其简单性,并且能够继承内嵌数据提供语意的用户定义的标示标记。虽然在文档世界中SHML仍然是广为使用的标准,HTML作为万维网上数以万计的Web页面的基础依然用途广泛,但XML仍然迅速得到了广泛的认同。XML是一种基于Internet的元数据,同时也是一种解释语言的语言,由SGML(标准通用标记语言)发展而来,将网络上的传输文档规范化,并赋予标记一定的含义。设计之初,XML的目标之一是取代HTML,成为解决复杂的Web应用提供标准的Internet语言。由于XML在可扩展性、可移植性和结构性等方面的突出优点,同时有非常强大的数据支持功能,故其应用范围早已突破了HTML所达[41]到的范围。XML的发展极大地推动了电子病历信息共享的发展,这源于它有利于数据交换的特性和层次化的面向对象的结构描述方法。XML在电子病历的内容定义和信息交换方面都起到了重要作用。3.2XML文档的构成每个XML文档都分为两个部分:序言(prolog)和文档元素(或称为根元素)。序言出现在XML文档的顶部,其中包括关于该文档的一些信息。它有点像XHTML文档的部分。XML文档的序言里包含了关于文档本身的元信息,而不是文档的内容。它可能包含XML声明、处理指令、注释以及嵌入的DTD或Schema。合适的XML文档必须有一个文档元素用以包含可能有的其他内容。XML文档中的所有内容都应该出现在文档元素或根元素的内部。XML文档结构可以用树型结构来表示,如XML文档结构图3.1所示。其中处于底层的节点有以下八种:(1)处理指令:处理指令(ProcessingInstruction,PI),它们将关于XML文档的信息传递给其他应用程序。XML处理程序并不处理PI,而是将他们原封不动地传递给应用程序。(2)注释:注释几乎可以出现在XML文档的任何地方。注释并不影响XML-15- 文档的处理,通常是为了便于阅读和理解的。注释可以同时存在于序言和文档节点中。(3)DTD和XMLSchema:DTD和XMLSchema提供关于XML文档内的元素和属性如何出现的规则。也就是说,他们确定哪些元素和属性是有效的,哪些是必需的或是可选的。(4)元素:元素包括一个开始标签、一个结束标签和内容。内容可以是文字、子元素或是二者都有。元素的开始标签中也可包含属性。在元素内部可以放置注释。(5)属性:在XML文档中,提供信息的另一种方法就是在元素的开始标签中使用属性。属性通常在它们所修饰的元素提供额外的信息。一个元素中可以出现的属性的数量是没有限制的。(6)文本:所有XML文档内部的文本都包含于开始标签和结束标签内部。除非该文本被标记为CDATA,那么它将会被认为是XML,从而作相应的处理。也就是说,左尖括号会被认为是某个XML标签的一部分。(7)CDATA段:CDATA可以对文本块进行标记,这样它们就不会被当作XML进行处理。CDATA段可以用于在XML文档中嵌入代码,如JavaScript代码,或者加入不需要处理的内容。(8)实体:字符实体是表示单一字符的符号。在XML文档中,可以用字符实[42]体替代保留字符。序言处理指令注释XML文档DTD/样式文档节点元素属性文本CDATA实体注释图3.1XML文档结构-16- 3.3XML的特点由于XML文档创建简单、易于理解,并且基于开放标准,当前大量基于XML的应用都正在开发。这些应用程序处理基于XML的电子书籍、电子杂志[43]或任何种类需要存储并与其他应用交换的文档。它具有以下特点:(1)可扩展性。XML是一种可以定义其他语言的元语言,它可以根据需要进行扩展,同时XML的标记是用户定义的,不会局限于一套预先定义的标记。(2)结构性强。XML文档本身就具有很强的结构性,采用树型结构来表示数据之间的关系。(3)交互性好。XML语言可以在多种不同的平台上使用,也可以让不同类型的机器读懂,这样就可以很好的解决异构系统之间的数据交互。(4)语义性强。XML可以使用户自己创建含有语意的标记标签,从而构建信息交换标准,实现不同部门间的数据交换。(5)纯文本。创建和编辑XML不需要复杂的工具,一般的文本编辑器就可以[44]实现。(6)可格式化。XSL(ExtensibleStyleLanguage)可以指定如何显示数据。因为数据和显示是分离的,通过XSL制定样式可以为同一数据用于不同输出。(7)很强的链接能力。可以定义双向链接、多目标链接、扩展链接和两个文档间的链接。(8)易于处理。XML对格式的定义非常严格,而且具有层次结构并与厂商无关。[45](9)与平台无关。XML文档可直接移植到其他平台上而不需要任何更改。3.4XML的相关技术XML是W3C制订的一系列相关推荐标准中的一个,在开发XML应用程序时还会用到其他的一些推荐标准。具体而言这些技术包括使用DTD(文档类型定义)和XMLSchema来定义XML词汇、使用CSS(级联样式表)和XSL(可扩展样式语言)显示XML文档和使用XPath在XML文档中导航等。下面对主要的XML相[46]关技术做一个介绍。3.4.1DTD和XMLSchemaDTD(文档类型定义)描述的是文档的结构,它指明一个元素可以出现多少次、它是否可选的以及它是否包含属性等等。有效性解析器可以根据其DTD来检查-17- 一个XML文档是否有效。如果不是,解析器会报告一个错误。符合某个DTD的XML文档称为该DTD的一个文档实例。DTD中包括四种类型的声明,它们分别是元素类型声明、属性列表声明、实体声明和符号声明。元素类型声明提供的是关于元素的信息。该声明以!ELEMENT文本开始并且列出元素名及其内容。内容可以是数据类型或是列在DTD中的其他元素。解析字符数据(PCDATA)说明元素的内容是文本,并且XML解析器应该将此文本解析成字符和实体引用。属性声明出现在元素声明之后,它更复杂一些。可以通过添加属性列表声明表明元素中包含属性。关键字#REQUIRED表明此属性必须存在。也可以用#IMPLIED来表明一个可选属性。用#FIXED来表明此属性只能有一个值。如果XML没有包含这个属性,有效性解析器就会插入一个固定值。使用[47]不是固定值的值会产生解析器错误。DTD可以嵌入到XML文档内部,也可以在文档中添加对外部DTD的引用。内部和外部DTD也可以同时使用。使用外部DTD的情况比较常见。这种方法可以用一个DTD文件来验证多个XML文档的有效性,也使DTD和文档实例更易于维护。XMLSchema与DTD有很多相似的地方。XMLSchema也用于确定XML文档的结构。但XMLSchema比DTD功能更强,它不仅包括了DTD所能实现的所有功[48]能,还包含很多概念,如数据类型和继承等,大大弥补了DTD的不足。XMLSchema的特点如下:(1)XMLSchema本身就是XML词汇的一种,使用标准XML语法,因此可直接用一般XML解析器对其进行语法分析,并且扩展性强。(2)XMLSchema可以为字符数据指定数据类型,而DTD不行。(3)XMLSchema可以定义个性化的数据类型,可以随意扩充、更新。(4)XMLSchema支持命名空间,利用命名空间将文档中特殊的结点与Schema说明相联系,这样一个XML文档就可以有多个对应的XMLSchema。(5)XMLSchema提供用于模块化开发。由于XMLSchema的种种优点,现在己经基本上取代了DTD。在这种情况下,国际上一些知名企业和组织纷纷在战略上向XMLSchema倾斜,提供对XMLSchema的支持。3.4.2XSL(可扩展样式表语言)可扩展的样式语言(ExtensibleStyleLanguage,简写为XSL)分为两个部分:XSLT(XSL转换)和XSL-FO(XSL格式对象)。前者是将XML源文档树转换成-18- 结果树,而后者为之加上格式,通常是为了打印输出。XSL文档包括一系列的适用于特定的XML元素样式的规则。XSLT处理器需要把要处理的XML文档读入内存,被读入内存的文档被称为源树。处理器在XSL文件中的模板树中找到与源树中的节点相对应的节点,然后对源树中的节点进行转换。转换过程结束后产生的节点被称为结果节点,这些结果节点形成了一个结果树。结果树也是一个XML文档,它还可以被转换成其他类型的输出。转换的过程被称为序列化。CSS(级联样式单)虽也是控制XML文档显示的方法。用CSS显示XML文档时,需要为每个XML元素名称指定一个样式,只能以元素为基础。使用CSS显示XML,在呈现XML文档时并不容易为之添加说明性文本。另一个局限就是,它几乎是按照元素在XML文档中出现的顺序来呈现它们的。对内容进行重新排序、分类和过滤都超出了CSS的范畴。但XSL样式单可以重新排列元素。XSL可以选择应用样式的标记,而不仅是基于标记的,还可以基于标记的内容和特性、相对于其[49]他元素的位置以及基于各种其他的准则。XSL对于CSS有以下优点:(1)XSL可以将源XML文档转换成可序列化为XML、HTML或文本的任意合适的XML文档。(2)XSL样式表可以产生与源树顺序不同的结果树。(3)XSL可以在转换的过程中添加文本和标记。(4)XSL是基于模板的,因此它主要是声明性语言。(5)XSL可以进一步应用XPath定位源树中的节点。3.4.3XPath(XML路径语言)XPath(XMLPathLanguage,XML路径语言)是用于定位XML文档中的结点的第四代声明式语言。XSLT样式表在定位源XML文档树的特定部分时很大程度上要依赖于XPath的使用,一些其他的推荐标准,如XPointer,也依赖于XPath规范。如果把XML文档看成一棵结点树,XPath使用的数据模型将文档也分为七种结点:根结点、处理指令结点、注释结点、元素结点、属性结点、文本结点和命名空间结点。但不包括文档类型声明、实体引用和CDATA段。因为文档类型声明不是文档树的一部分,所以XPath表达式不能在文档中定位XML声明。实体引用解析[50]为组件文本与元素,而CDATA段与其他任何文本一样处理。使用XPath时要根据XML文档树编写相应的表达式。对一个文档使用XPath表达式可以返回一个单独的节点、一组节点、一个布尔值、一个数字值、一个字符串等五种结果。XPath中最重要的表达式是位置路径。位置路径由三部分组成:-19- 轴、结点测试和谓词。轴用来确定与当前结点的相对位置而得到一个结点集,在从“轴”确定的结点集中按照结点名称或是结点类型选择对应的结点的过程称为结点测试,结点测试的结果是得到一个子集,在结点测试选出的子集中根据定义的谓词再进一步筛选得到最后的结果。位置路径的基本规则是:轴和结点测试是必需的,谓词是可选的;轴和结点测试之间使用两个冒号(::)分开,谓词使用中括号([])[51]括起来;位置路径选择结点集的顺序是从左到右。3.4.4XQuery(XML查询语言)XMLQuery是W3C所制定的一套推荐标准,其工作组在1999年9月正式成立,目标是用一种灵活的查询语言从XML文档中提取信息。XQuery构建在XPath规范之上,它与XML的关系和SQL相对于数据库表的关系类似。近年来,XQuery的一些特性得到了广泛的认可,并合并入XPath2.0规范中。XQuery用来查询XML数据,并且被查询的XML数据可以是多种形态的,所以XQuery用途非常广泛,近[52]年来已经开始用于数据库。XQuery为操作XML文档中的数据提供了一种强大的语法。它是一种函数型语言,能够非常灵活的查询大量的XML信息源,语言简洁,易于理解。随着XML的广泛应用,XML文档的信息量也大幅度增长,相应的能有效的存取XML的信息也变得越来越重要。要做到这一点,必须要有一个能够准确的获得所需信息、更新XML数据源中数据的可表达的查询语言,XQuery正是这样的语言。3.4.5DOM与SAX解析XML有两种处理方式,一种是基于树的,一种是基于事件的。基于树的解析器是利用文档对象模型对XML进行解析的,而基于事件的解析器是利用XML简单应用程序接口来对XML进行解析,它们通常被称为DOM解析和SAX解析。文档对象模型是万维网联盟推荐的XML文档应用编程接口(API)的标准。XML文档应用编程接口提供了多种功能,主要包括了读取XML信息、添加XML[53]节点和编辑XML文档内容等,它可以被大多数的应用程序使用。XML简单应用程序接口并不是万维网联盟的推荐标准,但它具有良好的事件处理能力。基于SAX的解析器按照文档结构依次读取XML文档的各个元素,当它读取到文档中特定的位置时就会触发事件,比如在元素的起始或结束位置。SAX的解析原理要求我们必须对每个事件编写处理程序,这样就给开发者带来了很大的工作量,但同时这种形-20- 式的解析对于有良好时间处理机制的语言非常适用,所以也得到了众多软件公司的支持。这两种解析方法都有它们各自的优缺点。文档对象模型解析提供了对XML文档的完整的读写访问,可以方便的遍历文档,同时DOM解析支持XPath。它还可以对照DTD或XMLSchema来判断一个文档是否有效。DOM的缺点主要表现在:效率低,解析速度慢,内存占用量过高,对于大文件来说几乎不可能使用。另外效率低还表现在大量的消耗时间,因为使用DOM进行解析时,将为文档的每个element、attribute、processing-instruction和comment都创建一个对象,这样在DOM机制中所运用的大量对象的创建和销毁无疑会影响其效率。基于SAX的模型是串行操作的。一个节点被处理后就被丢弃了,并且不会再被处理。整个文档并不[54]一次性地读入内存,这样就避免了由较大的XML文档而引起的处理问题。-21- 4基于HL7CDA标准的电子病历模型设计及技术研究电子病历的内容模型由五个类组成:实体类、角色类、参与类、动作类和动作关系类。实体类表示参与医疗保健的物理物体和生命体,例如人、检查材料和检查仪器等。角色类用于实体在参与动作时担当的角色,例如医生、病人和患者家属等。参与类表示表示动作执行期间的相关内容,例如动作执行者、动作的对象和实施地点等。动作类表示医疗过程中管理和提供的一个必须记录文档的动作的执行,例如临床观察、健康状况的诊断、医疗保健的目的和治疗服务。动作关系类是表示一个动作与其它动作的连接,源动作到目标动作之间的关系,例如医嘱与检查及检查事件的发生之间的关系。4.1结构化电子病历内容模型设计4.1.1实体类设计实体类表示参与医疗保健的物理物体和生命体,例如人、检查材料和检查仪器等。实体类是整个医院医疗过程的基础类,以下是实体类的属性设计:(1)实体域代码表示实体参与医疗过程中的有效范围,例如医院、科室、病房等。(2)实体类型代码表示实体的类型,例如人、检查材料和检查仪器等。(3)实体代码表示一个具体实体的唯一标示符。(4)实体编码这个编码利用公用编码系统对实体的确切表示。它包含了四个属性,分别是实体编码、编码系统代码、编码系统名、实体名。(5)实体状态码表示一个实体的实时状态。(6)实体处理方式码表示一个实体用什么样的方式保持它的持续性和有效性,例如低温冷藏、高温加热等。(7)实体有效时间码表示一个实体存在的时间。由开始时间和结束时间表示。实体类在具体应用中还要根据实际情况创建子类以满足不同程度的应用要求。-22- 4.1.2角色类设计每个角色都联系着两个实体,参与角色的叫参与者(player),提供角色范围的叫域值(scoper)。所以角色类是实体类的扩展,除了包括实体类中的域代码、类型代码、实体代码和实体编码意外,还包括以下属性:(1)角色名表示角色的姓名信息。角色姓名包括角色的曾用名和现在使用的姓名。(2)角色性别表示角色的性别信息。性别信息由公共编码表示,男性为“M”,女性为“F”。(3)角色地址表示角色在诊疗过程中的所在地信息,例如病人在哪个病房、医生在哪个科室。地点信息编码目前没有统一的标准,需要各个医院根据不同的实际情况进行不同的编码设置。(4)角色出生日期表示角色的出生日期信息。日期的表示方法为年/月/日。(5)角色出生地表示角色的出生地址信息。出生地信息也是结构化表示的,例如国家、城市、县市、地区、街道等。(6)角色家庭住址表示角色的家庭住址信息。与出生地信息同样的表述方式。(7)角色婚姻状况码表示角色的婚姻状况信息。(8)角色民族表示角色的民族信息。目前我国还没有统一的医疗用的民族信息代码标准,由各个医院自己制定民族信息代码。(9)角色宗教码表示角色的宗教信仰信息。我国尚未拟定医疗用的宗教信息代码标准,由医院自己制定。除了上述属性以外,还为角色类设计了两个子类,分别是监护者类和提供者组织类。监护者类表示的是监护者的具体信息,具有以下属性:(1)监护者类型码表示角色的监护类型信息,例如人、学校、单位。-23- (2)监护者名表示监护者的名字信息。如果监护类型为组织的话,则表示监护组织的名称。(3)监护者地址表示监护者的地址信息。继承自角色类,信息表示方式同角色出生地信息相同。(4)监护者联系方式表示监护者的联系方式信息。联系方式信息用结构化的方式表示,例如固定电话、移动电话、Email等。提供者组织类表示的是提供角色的域值的信息,大多数情况表示为医院的信息,所以为提供者组织类设计了以下属性:(1)提供者组织号码表示具体的一个域值对象的唯一标识符。(2)提供者组织名表示域值的名字信息。域值名字信息包括全名、前缀、后缀和简写名信息。(3)提供者组织地址表示域值的地址信息。继承自角色类,信息表示方式同角色出生地信息相同。(4)提供者组织联系方式表示域值的联系方式信息。同监护者联系方式表述方式相同。(5)提供者组织产业类码表示域值的产业类型,例如公立医院、私人诊所等。4.1.3参与类设计参与类表示表示动作执行期间的相关内容,例如行为执行者、行为的对象和实施地点等,所以参与类包括了以下属性:(1)范围码表示参与者在过程中的动作范围。(2)类型代码表示参与的方式。说明参与者是怎么样参与到动作过程中去的。(3)功能代码表示参与者在过程中的职务功能,即起到了什么作用。(4)参与时间表示参与者在过程中的开始时间与结束时间。(5)意识码-24- 表示病人或病人家属对病情的严重性的认识。还包括关联实体和参与角色两个子类,关联实体类与参与角色类分别继承了实体类和角色类。4.1.4动作类设计动作类是医疗过程中管理和提供的一个必须记录文档的动作的执行,例如挂号、手术、B超和开药等。为了详细的记录动作信息,动作类里设计了以下的动作属性:(1)动作类型代码这一代码表示动作的种类。(2)动作号表示一个具体的动作对象的实例标识符。(3)动作编码动作编码是利用编码系统表示一种具体的医院活动,例如血液检查、B超检查、彩超检查等。(4)动作备注动作备注是对动作的所有细节的具体描述,可以使自由化的语言或者是多媒体方式的表示,例如DICOM医学图像、诊断录音和会诊录音等。(5)动作状态码表示动作是处于完成的、暂停的、被取消的、失败的等状态。(6)动作有效时间动作的有效时间由动作的开始时间和结束时间组成,表示此动作在此时间段内有效。(7)动作优先级代码动作优先级代码表示在特殊情况下动作被预定,将要被执行,或者被执行了。这个属性被用于指出安排好的优先权。在动作类中还设计了一些子类来辅助动作类表示更全面的信息。包括动作对象类、动作执行者类、动作策划者类、动作引用类和动作准备类。动作对象类、动作执行者类、动作策划者类继承于角色类,具有角色类的公共属性,动作对象类主要是表示在医疗过程中受到诊疗的病人信息,动作执行者类一般表示在医疗过程中的一线操作人员的信息,例如手术者、护士等,而动作策划者类主要表示在医疗过程中的决策者的信息,例如院长、医生、检查医师等。-25- 动作引用类主要是用来表示在医疗过程中的引用的关联动作、关联观察、关联文档和关联手续。他们具有以下的公共属性:(1)关联域码关联域码表示关联的动作、观察、文档和手续的作用范围。(2)关联类型码关联类型码表示关联的动作、观察、文档和手续的类型。(3)关联号关联号表示一个具体的关联动作、观察、文档和手续的唯一标示符。(4)关联编码关联编码表示一个具体的关联的动作、观察、文档和手续的实例的公共编码系统表示。(5)关联解释关联解释是一个具体的关联动作、观察、文档和手续的结果或者过程的一个大体的解释。是自由化的文本叙述,不强加编码系统的限制。而关联文档又比其他三个类多出了两个属性,分别是数据集代码和版本号。4.1.5关系类设计关系类中包括两个属性:(1)关系类型表示是模型中哪个类与哪个类之间的关系。有两个可选值,分别是角色——角色关系、动作——动作关系。(2)关系代码表示角色和角色之间或动作和动作之间的具体关系。这五个内容类之间的相互关系如图4.1所示。-26- 关系类0..1关系类型关系代码0..10..*0..*实体类角色类参与类动作类1范围者角色名0..*角色性别动作类型代码角色地址1范围码1实体域代码动作编码角色出生日期类型代码实体类型代码0..*0..*动作备注角色出生地功能代码实体代码动作状态码角色家庭住址参与时间实体编码动作有效时间1参与者角色名族意识码动作优先级代码0..*图4.1五个内容类之间的关系4.2结构化电子病历构建技术研究4.2.1结构化文档头的创建文档头包括不同的属性,例如临床文档标识符ClinicalDocument.id,它唯一标识了文档;临床文档代码ClinicalDocument.code,通过从LOINC代码组成的(CWE)值集中提取的代码,规定文档的具体种类(例如病史和体格检查、出院总结、过程记录);临床文档有效时间ClinicalDocument.effectiveTime,表示创建文档的时间;临床文档机密性代码ClinicalDocument.ConfidentialityCode,表示全部文档的机密性状态;临床文档语言代码ClinicalDocument.languageCode,表示与文档的字符数据相对应的人类语言。虽然这些元素在XML文档中都是字符串的形式,但其数据类型是在HL7V3版中规定的。如表4.1所示,每个数据类型都有其不同的应用形式。所以在创建文档的各个元素的时候,要判断其元素属于哪一种数据类型。例如ClinicalDocument.id的数据类型是实例标识符型II,ClinicalDocument.effectiveTime的数据类型是时间点型TS,ClinicalDocument.ConfidentialityCode的数据类型是等价编码型CE。如果数据类型判断错误,则元素不能被加载到CDA文档头中。表4.1CDA文档数据类型名称符号描述数值型ANY它是一个定义所有在此范围内的数据的值公共基础属性抽象类型,说明它不属于任何具体的类。每一个具体类型都是它的实例化。布尔型BL它是用来表示布尔逻辑的二进制值。它可以是为真或者为假或者为空-27- 和其他值。封装型ED此数据类型的主要用于HL7范围外,表示人类说明或更深层的机器处理。字符串型ST它是一个文本数据,主要为了机器的数据处理(如分类、索引、叙述等)。概念描述型CD对用编码系统定义的内容进行引用。其中包含了编码值、编码系统代码、编码系统名称、编码值的具体名称等信息。简单编码型CS它用来表示只有一项编码值不是预先确定的最简单形式的编码数据,它的编码系统和编码系统版本是上文中出现的。它用来表示一个具有单一的HL7定义集的编码属性。等价编码型CE被编码数据构成一个编码值,可选择的,来自其他编码系统的编码值,编码系统确定相同概念,当二选一编码可能存在时使用。编码字符串SC可能有一个附加码的字符串类型数据。型实例标识符II一件事情或对象的唯一的标识符。例如标识HL7参考信息模型对型象、标识治疗记录的ID、标识命令、标识服务种类项目等。通讯地址型TEL通过URI(UniversalResourceIdentifier)来指出一个被指定的资源的位置。TEL通常用来指定一个可取的资源比如像WEB页面、电话号码、Email、或者一些其它的经URI指定得资源。邮政地址型AD它用来指定家庭或办公地点的邮寄地址。它通常由一序列地址组成,如街道、邮箱、城市、邮编、国家等。实体名称型EN它用来表示一个人、组织、地点或事情的名称。它通常由一序列地址组成,将一个完整的实体名分成几部分来表示,如一个人的姓、名字、前缀和后缀等。对象标识符OID用一个全球唯一的字符串来表示一个ISO的对象标识符。对象标识符型由纯数字组成,例如“2.16.840.1.113883.3.1”。依照ISO标准,OID的路径是一个树形结构,最左边的数字表示根,最右边的树表示叶。人名型PN用来表示当实体为人的时候的实体名称。组织名称型ON用来表示当实体为一个组织的时候的实体名称。整数型INT表示一些可枚举的准确的整数,例如-50,7,19,23,50,461379等。整数是离散的,整数集是无穷大的但也是可列集。实数型REAL表示一个实数。比值型RTO表示一个商值,由分子和分母组成,分子和分母的公约数不能约去。-28- RTO数据类型支持滴定量(如,1:128)和其他实验产生的计量数。RTO数据类型不是简单的结构化的数字。举个例子,血压测量值(如“120/60”)就不是比值型数据。物理量型PQ表达测量结果的容量计量数。时点型TS说明一个时间点,这个时间点是在自然的时间轴上的。时点型数据的表示形式是日历型。确定每个文档元素对象的数据类型后,就要利用内容类和其子类实例化每个文档元素对象。对象实例化成功之后,利用SWT中的文本框接收字符串数据,然后将需要字符串转换成其相应的数据类型,最后将数据添加到文档元素对象中,还要通过CDAXMLProcessor类进行XML转换。创建CDA文档关键部分的程序代码://创建CDA文档元素对象ClinicalDocumentdoc=CDAFactory.eINSTANCE.createClinicalDocument();CEcode=DatatypesFactory.eINSTANCE.createCE();STtitle=DatatypesFactory.eINSTANCE.createST();TSeffectiveTime=DatatypesFactory.eINSTANCE.createTS();…………//创建文档元素在每个文档元素对象创建之后,还要对一些元素进行嵌套来实现标准结构的电子病历文档。为了完成嵌套功能,为每个文档元素类都添加一个set函数,用来将子节点元素的属性信息添加到上一级节点中。创建CDA文档关键部分的程序代码://接受字符串数据IIid=DatatypesFactory.eINSTANCE.createII();idstyledText.addModifyListener(newModifyListener(){publicvoidmodifyText(ModifyEventarg0){id.setRoot(idstyledText.getText());}});//将对象子节点添加到上一级节点中doc.setId(id);//各级子节点元素对象进行嵌套RecordTargetrecordTarget=CDAFactory.eINSTANCE.createRecordTarget();doc.getRecordTargets().add(recordTarget);PatientRolepatientRole=CDAFactory.eINSTANCE.createPatientRole();-29- recordTarget.setPatientRole(patientRole);IIpatientId=DatatypesFactory.eINSTANCE.createII();patientRole.getIds().add(patientId);Patientpatient=CDAFactory.eINSTANCE.createPatient();patientRole.setPatient(patient);patientname=DatatypesFactory.eINSTANCE.createPN();patient.getNames().add(patientname);……//保存文档CDAUtil.save(doc,System.out);文档头创建结果示例:Compterendud'analysesmédicalesdulaboratoireHexalis16rueMontbrillantLYONl69003-30- M.LOICBRIGANDAT4.2.2结构化文档体的创建文档主体中有临床报告,报告既可以是非结构化的文字也可以是结构化的标识。结构化文档体是由开始和结束的,可细分为一个个的文档节,即Section。文档节包括不同的属性,例如文档节标识符Section.id,仅表示文档节的含义;文档节代码Section.code,规定了文档节的特殊种类(如患者主诉、过敏、不良反应、系统反馈等),从(CWE)LOINC中选取代码;文档节标题Section.title,表示人类可读文档节的标签;文档节文本Section.text是上述的“叙述性模块”,包括人类可读的文档节的内容。叙述性模块可以根据用户的需要进行格式编辑。元素是用来包裹一个文本的一节字符串的,所以被它包裹的内容是可以用来作外部引用的,元素可以递归嵌套的。元素是一个定位元素,和HTML中的anchor标签类似,但是不完全一样,它是用来表示引用的内部或者外部的关联文档的。元素分别是用来表明上标和下标的。
元素是用来表示换行的。是用来表明脚注的。是用来表示引用的外部多媒体信息的。元素和HTML中的paragraph相似,它包含了一个可选择的必须出现在字符数据之前的标题。元素和HTML中的list相似,它也包含了一个标题元素和若干个项目元素。元素和HTML中的table相似,是为了更清晰的表现一些特殊的数据。
元素是一个段落、表单、表单项、表格或者表格单元的标签。创建CDA文档体关键部分的程序代码:文档Section举例:-31- PublicHealthLaboratoryReport
SpeciesCommentsDate
SalmonellaentericagroupE2009-03-06
CDA条目(entry)录入是为进一步进行计算机处理而提供的结构化内容(例如决策支持应用程序)。它是实现结构化文档的关键。它们对文档节中文本Section.text字段的一些叙述性内容进行了编码,编码采用的是HL7协会推荐的国际疾病分类ICD-10、临床术语SNOMED-CT、LONIC的编码系统,这样便把自由化的文本转化成结构化的文本,便于病历的分析和利用。CDA文档条目中的属性关联所示如-32- 图4.2,在过去史Section中,Section.text描述了一个病人曾患有哮喘,则在Entry中分别通过观察类中的Observation.code元素和Observation.value元素描述了“感染历史”和“哮喘”,并通过Section.text中元素的ID属性和Observation.value元素中的元素将叙述性内容和被编码实现的结构化内容关联起来。图4.2CDA文档条目中的属性关联两个条目之间的语义关系在entryRelationship.typeCode中定义,其中包括一个HL7定义的代码(CNE)值集。CDA规范中允许临床陈述中的任何条目都可以通过使用列举出的关系类型来与其他行为建立关系,即使在很多情况下会产生一些无意义的关系。CDA条目的关系类型如表4.2CDA条目关系类型表所示。表4.2CDA条目关系类型CDATypesCAUS(isetiologyfor)病因学关系COMP(hascomponent)整体-部分关系GEVL(evaluates)评估MFST(ismanifestationof)表现例:荨麻疹是青霉素过敏的表现REFR(refersto)参考RSON(hasreason)接受服务的原因例:胸痛-平板运动试验SAS(startsafterstart)顺序发生的例:胸痛之后,发汗SPRT(hassupport)映证SUBJ(hassubject)修饰例:“持续严重”形容胸痛XCRPT(isexcerptof)摘录,引用下面一段XML文档是对使用条目关系类型的举例,是家族病史的观察集,观察集中包括家族病史节。第一个观察observation的值observation.value表示患者患有心肌梗塞(MI)。observation.subject编码为“FTH”,表示得过心肌梗塞的是患者的父亲。如果察看录入关系类型,会发现有一组嵌套的死亡观察。参与者也传送到了这个嵌套的关系中,带有“CAUS”的录入关系类型代码entryRelationship.TypeCode表示心肌梗塞是导致其父亲死亡的原因。这样就完成了将自由化文本转化成结构化的文本。-33- 4.2.3IHEPatientCareCoordinationIHE(IntegratingtheHealthcareEnterprise)在医疗环境中为信息系统的集成定义了一个共同发展的技术框架,PCC(PatientCareCoordination)其中的一个技术框架,其中包括12个集成模型。集成模型是确定某一个工作流和一个具体问题的解决方案。PCC主要用于临床文档的交换。CDAContentModules是PCC技术框架中对CDA标准的进一步约束,从而更有利于文档的创建和交换。-34- 4.3结构化电子病历解析技术研究CDA标准采用的是XML语言,利用DOM解析技术解析出CDA文档,把病历信息从元素标签中提取出来并利用其结构特定用树型控件来显示。其解析步骤如下:(1)定义一个DOM解析器Parser。在这里我们使用DOMParser类。(2)解析XML文档,得到一个Document类,用来存放解析文件。(3)遍历DOM树中的节点。(3)取得节点的属性值。文档解析关键代码://遍历文档节点NodeListnodeList=((Node)parentElement).getChildNodes();intnodesCount=nodeList.getLength();Listnodes=newArrayList();for(inti=0;i");returnelementRepresentation.toString();}4.4结构化电子病历验证技术研究医生每天要写大量的病历,在填写病历过程中难免出错,为了提高医疗质量,减少医疗纠纷,那么就需要对病历质量进行控制。本文利用XMLSchema和MDHT工具包中的CDAValidator类和ValidationResult类来进行CDA文档的验证。首先读取要验证的文档,然后选择验证信息级别。用户可根据实际需要来选择打印全部信息、只打印错误和警告信息、只打印错误信息。然后选择需要验证的文档类别。本文根据需求设计了CDA文档和CCD文档的验证。其中CCD(ContinuityofCareDocument)连续性照护文档是美国在CDA标准基础上应用在实际中提出的标准,它同PCC一样,在CDA的基础上增加了文档中的元素限制。验证CDA文档关键部分的程序代码://读取CDA文档ClinicalDocumentdoc=CDAFactory.eINSTANCE.createClinicalDocument();//创建验证结果对象ValidationResultresult=newValidationResult();doc=CDAUtil.load(newFileInputStream(pathstr),result);//选择验证文档类型CDAPackage.eINSTANCE.eClass();//验证文档validate(doc);4.5结构化电子病历显示技术研究最终用户(医生和病人等)关心的并不是电子病历的信息在CDA文档中以何种形式组织并存储,而是电子病历如何以自己习惯的格式所显示。直接解析出来的XML文档是不利于人们阅读的,因此,用XSL对CDA文档的渲染来实现CDA文档的显示。根据病历特点,本文将病人基本信息和医生信息至于病历顶部,将主诉、家族史、既往史等病人疾病信息罗列,便于阅读。将医生自己定制的XSL文件-36- 以处理指令的方式加入到现有的XML病历文档中并产生一个新的文档,这样不会破坏源文档的完整性及法律效力。XSL显示效果如图4.3所示。图4.3XSL显示结果-37- 5结构化电子病历构建系统研究及实现5.1系统功能模块设计结构化电子病历构建系统主要包括四个功能模块:CDA文档构建模块、CDA文档解析模块、CDA文档验证模块和CDA文档显示模块。CDA文档构建模块主要完成CDA文档头、体、节和条目对象的构建,接收医疗过程中产生的信息并将其转化为标准类型,从而形成符合CDA标准的电子病历文档。CDA文档解析模块主要用于装载不同格式的电子病历文档,并将XML格式的文档进行数据解析,把数据从文档中剥离出来,并利用树型控件显示。CDA文档验证模块主要功能是完成CDA、CCD文档的验证,并将错误类型、错误位置、错误级别打印出来。CDA显示模块可以使用户根据习惯选择想要的文档显示格式来对文档进行显示。本系统采用MDHT_CDATools_1.0.0开源工具包辅助开发,采用Java作为编程语言,成功实现了基于HL7CDA标准的电子病历构建、解析、验证与显示。由于还没有进行CDA标准的本地化工作,临床术语、疾病分类和文档元素标签等都是引用国际标准。系统的运行界面如图5.1所示。图5.1系统运行界面-38- 5.2系统开发环境系统整体采用JavaSE开发,采用MDHT_CDATools_1.0.0开源工具包辅助设计。以下为程序开发环境:操作系统:MicrosoftWindows7开发环境:EclipseHelios版工具包:MDHT_CDATools_1.0.0可视化界面:JavaSWT5.3功能模块详细说明5.3.1CDA电子病历构建模块构建基于CDA标准的电子病历文档可以分为以下五个步骤:(1)构建CDAHeader。(2)构建CDAbody。(3)构建CDASection。(4)构建CDAEntry(5)构建元素信息。图5.2构建CDA文档头界面-39- 点击菜单栏的“File”按钮弹出下拉菜单,选择“New”然后点击“CDAHeader”就可以弹出创建CDAHeader的对话框,在填写完文档信息、病人和医生的基本信息后,点击“Save”就可以将Header保存到新建的文档中。构建CDA文档头界面如图5.2所示,创建CDA文档头结果如图5.3所示。图5.3创建CDA文档头结果在构建完病历的头之后,就要建立文档体和文档节。因为结构化的文档体需要用文档节来承载病情信息,所以在创建文档体的步骤就在创建文档节的之前就已创建完毕。点击菜单栏的“File”按钮弹出下拉菜单,选择“New”然后点击“CDASection”就可以弹出创建CDASection的对话框,在输入完病情信息之后点击“OK”按钮就可以将新建文档节保存到病历中。创建CDASection界面如图5.4所示。-40- 图5.4创建CDA文档节界面图5.5创建ObservationEntry界面-41- 在所示中创建Section的文本内容时只要点击“AddObservation”按钮或“AddSubstanceAdministration”按钮就可以打开创建ObservationEntry和SubstanceAdministrationEntry的界面。创建ObservationEntry界面如图5.5所示,创建SubstanceAdministrationEntry界面如图5.6所示。ObservationEntry可以用于表示大部分结构化的文档节种类(如患者主诉、过敏、不良反应、家族史、社会史和现病史等)。其中包括了疾病名称、疾病临床表现、疾病发作时间、疾病类型及发作部位等信息。SubstanceAdministrationEntry多用于嵌套在用药Section中作为药品的结构化Entry。其中包括了药品的药品名、服用方法、服用周期和服用剂量等信息。图5.6创建SubstanceAdministrationEntry界面本文还实现了部分常用的PCC结构模板来辅助电子病历文档的创建,其中包括了事前指示(AdvanceDirectiveObservation)、过敏反应观察(AllergyandIntolerance)、所关注特定过敏反应(AllergyandIntoleranceConcern)、注释(Comments)、所关注特定事项(Concern)、外部引用(ExternalReferences)、健康状态观察(HealthStatusObservation)、免疫接种(Immunizations)、内部引用(InternalReference)、用药说明(MedicationFulfillmentInstructions)和用药医嘱说明(PatientMedicationInstruction)等模板。这样在创建的过程中有些文档元素就-42- 不必自己创建而通过结构模板可以更快的创建相应的电子病历文档,从而提高工作效率。例如,Comment条目结构模板如图5.7所示,一位病人的辅助检查结果,用于说明病人可能患有甲状腺功能亢进症时,使用Comment条目结构模板就可以只输入text和Reference.value就可以完成Comment条目的创建,而不必再为条目添加需要的classCode、moodCode、Code和statusCode等数据。Comment条目结构模板创建结果如图5.8所示。图5.7Comment条目结构模板图5.8Comment条目结构模板创建结果-43- 5.3.2CDA电子病历解析模块CDA电子病历解析模块可以同时加载非结构化(自由叙述语言)的文本文档和结构化的XML文档。点击菜单栏的“File”按钮弹出下拉菜单,选择“Open”后会点弹出选择所要加载的文件对话框,选择一个文本文件后点击“OK”按钮就可以将显示框看到非结构化的病历文档。加载非结构化电子病历显示效果如图5.9所示。图5.9加载非结构化电子病历显示效果点击菜单栏的“File”按钮弹出下拉菜单,选择“Parse”后会点弹出选择所要解析的文件的对话框,选择后点击“OK”按钮就可以将解析结果以树型结构显示出来。加载XML电子病历和解析结果如图5.10所示,可以看到数据信息已经和文档-44- 标签分离,这样就可以高效的分析结构化的电子病历,对病历的归档和统计带来极大的方便。图5.10加载XML电子病历并解析结果5.3.3CDA电子病历验证模块点击菜单栏的“File”按钮弹出下拉菜单,选择“Validate”后会点弹出验证文档的界面,CDA验证界面如图5.11所示。首先读取要验证的文档,在选择验证信息级别和需要验证的文档类别之后,点击“OK”按钮就可以将验证结果显示出来,CDA电子病历验证结果如图5.12所示。图中第一列是根据XMLSchema文件创建的验证模型类型;第二列是错误类型,本例中只有错误而没有警告和普通信息;第三列显示的是错误的具体内容和位置。-45- 图5.11CDA电子病历验证界面图5.12CDA电子病历验证结果5.3.4CDA电子病历显示模块点击菜单栏的“XSLTransformations”按钮弹出下拉菜单,选择“LoadDocument”后会点弹出选择需要显示的病历的对话框,选择完病历之后,点击菜单栏的“XSLTransformations”按钮下的“XSLTransformations”按钮,弹出选择需要的XSL样式表单,点击“OK”就可以将病历显示出来,XSL显示电子病历效果如图5.13所示。-46- 图5.13XSL显示电子病历效果图-47- 6总结和展望6.1论文工作总结我国正处在医疗改革的关键时刻,为了实现政府提出的“人人享有基本卫生保健”的目标,改革城市医疗卫生服务体系势在必行,而电子病历系统的标准化或将成为建立社区卫生服务的关键因素。在当前我国处于的医疗水平下,医院医生没有更多的时间浏览病人所有的医疗文档和记录,因此使电子病历符合CDA标准,让计算机可以自动地传输并理解语义,对于医生对病人病情的全面了解,以及疾病控制、辅助诊断、医学科研等具有非常重要的意义。在未来的发展中,基于HL7标准的集成将会在医疗领域不断发展,使得医疗服务在更高水平和更大程度上实现医疗信息自动化,整个医疗环境将发展成为一个全球化的虚拟医院,医疗服务将向着更加标准化和信息化的方向发展。本文研究了电子病历在国内外的发展状况和医院信息标准化的建设情况,对HL7CDA标准和XML技术进行详细的分析。为了解决当前电子病历系统之间很难进行信息共享和交换的问题,设计了基于HL7CDA标准的电子病历构建模型,并实现了结构化电子病历构建系统,取得了一定的成果,达到了预期的目的。目前国内大多数基于HL7标准的电子病历系统还不能够支持HL7标准承认的几个国际标准编码系统,本设计可以较好的利用国际编码系统对自由化文本进行结构化编码,并直接利用条目表述编码项之间的关联关系,不仅提高了病历的结构化程度,也提高的了病历理解的准确性。论文具体完成的工作如下:(1)对电子病历和医院信息标准化建设的国内外情况进行了调查研究,确定了使用HL7CDA标准来构建结构化的电子病历。(2)根据HL7CDA标准和我国实际的医疗环境设计出了电子病历内容模型,实现了医院电子病历构建过程中的各个工作流程和参与者的结构化表示方法。(3)利用XML及其相关技术、Java编程语言实现了电子病历构建系统。(4)研究并实现了XML形式的电子病历的解析、验证和显示。6.2展望医疗信息交换领域的研究具有重要的实际应用价值,论文主要完成了基于HL7CDA电子病历的构建、解析、验证和显示的工作,但由于个人的时间和精力等方面原因,本文实现的电子病历构建系统还有待于进一步的完善,主要包括:-48- (1)HL7CDA标准虽然对电子病历结构方面有很强的约束,但由于目前国内还没有统一的中文电子病历标准数据元和标准术语集,在电子病历内容方面还不能实现中文的结构化。(2)提高医生工作效率还需要实现电子病历系统的病历内容快速输入功能。在今后的工作中,会对系统进行功能扩展,使系统能够支持病历模板的调用和维护。(3)随着数据量的不断增大和电子病历的存储和查询需要,今后还需要为电子病历建立数据库,但由于病历信息的复杂性,这将是一个长期的工作。-49- 参考文献[1]黄箭.基于HL7的电子病历模型构建与实现[D].哈尔滨:哈尔滨工业大学,2009.[2]李月秋,王玉,周晨.医院信息系统与电子病历[J].医学信息学杂志,2007,3:236-237.[3]王世伟,周怡.医学信息系统教程[M].北京:中国铁道出版社.2009:132-134.[4]BoqiangLIU,XiaomeiLI,ZhongguoLIU,etal.DesignandImplementationofinformationexchangebetweenHISandPACSBasedonHL7standard[A].The5thInternationalConferenceonInformationTechnologyandApplicationinBiomedicine[C].UnitedStates:Inst.ofElec.andElec.Eng.ComputerSociety,2008,552-555.[5]王票利.构建HL7中间件——实现医疗信息系统的集成[D].福州:福州大学,2005.[6]潘丹丹.基于XML的电子病历系统的研究与实现[D].北京:北京交通大学,2007.[7]谷宇.HL7消息解析及传输技术的研究与实现[D].内蒙古:内蒙古科技大学,2010.[8]余本功.基于HL7标准的电子病历(EPR)研究[D].合肥:合肥工业大学,2005.[9]商振和,李梅,单会强.浅述现代化设备在病案信息管理中的应用[J].办公自动化(综合版),2007,6:8-9.[10]罗冲.基于HL7医疗信息管理系统的设计[D].武汉:华中科技大学,2008.[11]王欣,纪辉.日本电子病历档案研究[J].兰台世界,2011,15:11-12.[12]支点网[DB/OL].http://www.topoint.com.cn/html/article/2008/08/216639.html/.[13]新浪网科技时代[DB/OL].http://tech.sina.com.cn/it/2006-09-07/17581125183.shtml/.[14]李晓燕,姚登福,唐颖.实施电子病历,大力促进医院信息化建设[J].医疗设备,2008,1:23-24.[15]宋喜莲.基于XML的电子病历系统的设计与实现[D].沈阳:东北大学,2005.-50- [16]陈平,刘丹红,徐勇勇.国际卫生信息标准化现状及发展趋势[J].中国医院统计,2002,9(2):23-24.[17]国际标准化组织[DB/OL].http://www.iso.org/.[18]T.J.Eggebraaten,J.W.Tenner,T.C.Dubbels.AHealth-careDataModelBasedontheHL7ReferenceInformationModel[J].IBMSYSTEMSJOURNAL.2007,46(1):1-9.[19]R.Agrawal,T.Grandison,C.Johnson,J.Kiernan.Enablingthe21stCenturyHealthCareInformaitonTechnologyRevolution[J].CommunicationsofACM.2007,50(2):35-42.[20]J.D.Gold,M.J.Ball.TheHealthBankingimperative:Aconceptualmodel[J].IBMSYSTEMJOURNAL.2007,46(1):43-56.[21]江捍平.美国卫生信息工作标准HL7——跨医疗卫生体系信息交换理论入门[M].北京:科学出版社.2005:215-217.[22]ChengP.H.,YangC.H.,ChenH.S.,etal.ApplicationofHL7inacollaborativehealthcareinformationsystem[A].ConferenceProceedings-26thAnnualInternationalConferenceoftheIEEEEngineeringinMedicineandBiologySociety,EMBC2004[C].UnitedStates:InstituteofElectricalandElectronicsEngineersInc,2004:3354-3357.[23]周庆利,江川.HL7与医院信息化.现代医院,2004,4(8):95-96.[24]ISO/HL721731:2006,Healthinformatics--HL7version3--Referenceinformationmodel--Release1[S].[25]金霞.医疗信息交换中HL7消息的构建/解析和传输关键技术研究[D].大连:大连理工大学,2003.[26]吕晓琪,谷宇,赵建峰.HL7消息解析、传输与格式转换研究与实现[J].北京医学,2010,32(4):221-225.[27]马雪英.采用HL7设计管理信息系统中的通信模块[J].计算机应用,2003,23(1):76-78.[28]何丽娟.基于HL7标准的医学数据交换的原理[J].医学信息,2007,20(9):1526-1529.[29]M.Schopen.DieEinführungderInternationalClassificationofDiseases(ICD-10)inDeutschlandWerkzeugeundInformationenimInternetWerkzeugeundInformationenimInternet[J].Bundesgesundheitsblatt-Gesundheitsforschung-Gesundheitsschutz,1999,42(11):827-833.[30]王明红.提高ICD-10编码准确性的探讨[J].卫生经济研究,2011,9:38-39.[31]ISO/HL727932:2009,DataExchangeStandards--HL7ClinicalDocument-51- Architecture,Release2[S].[32]夏卫.基于HL7CDA标准的电子病历信息交换研究[D].合肥:合肥工业大学,2006.[33]RobertH.Dolin,LioraAlschuler,etal.HL7ClinicalDocumentArchitecture,Release2.0[DB/OL].www.hl7.org/v3ballot/html/inrfastrueture/eda/eda.htm.[34]Chung-YuehLien,Chia-HungHsiao,Lu-ChouHuang.ApplyingaPresentationContentManifestforSigningClinicalDocuments[J]JournalofDigitalImaging,2010,2(23):152-160.[35]唐保昌.基于WebService的医疗全数据交换接口研究[D].杭州:浙江大学,2008.[36]王晔,雷长海,李凯.基于HL7CDA的InfoPath电子病历系统设计[J].中国医疗设备,2009,24(8):66-69.[37]梁秀娟,孙振.基于HL7CDA标准和XML技术在电子病历系统中的应用[J].中国数字医学,2007,3(3):21-24.[38]李娜,余本功.基于HL7CDA,R2.0的电子病历首页的设计与实现[J].中国医疗器械杂志,2007,31(4).[39]MarcelLucasMuller,FrankUckert,ThomasBurkle,etal.Cross-institutionaldataexchangeusingtheclinicaldocumentarchitecture(CDA)[J].InternationalJournalofMedicalInformatics,2005,74:245-256.[40]YunJiHyun,KimKon.ProcessingHL7-CDAentryforsemanticinteroperability[A].2ndInternationalConferenceonConvergentInformationTechnology,ICCIT07[C].UnitedStates:Inst.ofElec.andElec.Eng.ComputerSociety,2007:1939-1944.[41]储建华.基于数据交换技术的电子公文交换系统的设计与实现[D].南京:南京大学,2008.[42]SasJacobs著,许劲松,杨波,周斌译.XML基础教程[M].北京:人民邮电出版社,2007:6-13.[43]胡顺扬.基于XML异构数据库访问中间件技术研究与实现[D].杭州:浙江师范大学,2009.[44]曾国林.异构数据库访问与集成模型的研究[D].广州:广东工业大学,2011.[45]张志刚.一个网络教学管理系统中的设计和实现[D].武汉:华中科技大学,2006.[46]汪平.基于XML的Web数据挖掘研究[D].南京:南京理工大学,2009.[47]邵蓉.XML数据管理技术的研究[D].南京:南京理工大学,2005.-52- [48]朱汉超.基于网页结构的Web数据抽取方法研究[D].武汉:武汉科技大学,2009.[49]陈嗣祺.基于XML技术的电子病历应用体系的研究[D].杭州:浙江大学,2004.[50]孙震,梁秀娟.浅论基于HL7CDA标准和XML技术在电子病历系统中的应用[J].当代医学,2007,6:133-135.[51]MarcelLucasMuller,FrankUckert,ThomasBurkle,etal.Cross-institutionaldataexchangeusingtheclinicaldocumentarchitecture(CDA)[J].InternationalJournalofMedicalInformatics,2005,74:245-256.[52]周玉婉.电子病历系统设计及病历交换[D].重庆:重庆大学,2005.[53]梁秀娟,孙震.基于HL7CDA标准和XML技术在电子病历系统中的应用[J].中国数字医学,2007,3(3):21-24.[54]丁跃潮,张涛.XML实用教程[M].北京:北京大学出版社,2007:6-9.-53- 在学研究成果在学期间发表的文章:[1]LuXiaoqi,YuNing,GuYu,JiaWeitao.ResearchandImplementationofElectronicMedicalRecordsEditingSystemBasedonCDA[A].TheInternationalConferenceonConsumerElectronics,CommunicationsandNetworks(CECNet2012)[C].UnitedStates:IEEEComputerSociety,2012,474-477.[2]LuXiaoqi,JiaWeitao,GuYu,YuNing.DesignandImplementationofMessageParsingModulebasedonHL7V3[A].3ndInternationalConferenceonInformationScienceandEngineering,ICISE2011[C].UnitedStates:IEEEComputerSociety,2011,3973-3976.(EI:20110913704600)[3]LuXiaoqi,GuYu,ZhaoJianfeng,YuNing,JiaWeitao.ResearchandImplementationofMedicalInformationFormatConversionbasedonHL7Version2.x[A].TheInternationalConferenceonComputerScienceandServiceSystem(CSSS2011)[C].UnitedStates:IEEEComputerSociety,2011,2440-2443.(EI:20113614304651)-54- 致谢衷心的感谢我的导师吕晓琪教授!吕老师在这三年中给了我很多生活上的关心和学习上的指导。在开题之前,吕老师教会了我如何搜集资料、阅读文献和确定研究方向;在课题设计过程中,老师教会了我如何克服困难、解决问题和总结经验;最后在论文撰写过程中老师又教会了我如何编排论文结构,认真审阅我的论文,不断地提出修改意见,帮助我完善论文。吕老师的博学多识、认真严谨和平易近人都是我学习的榜样。吕老师在生活中也给我了很多的指引,教会了我如何与人沟通和如何做人做事,在此论文完成之际,向吕老师表示真诚的敬意和衷心的感谢。同时,还要感谢这三年研究生学习期间帮助过我的所有研究室老师和师兄师姐,从他们身上我学到了很多的东西。特别是谷宇师兄,给我了非常多的帮助,让我受益匪浅。感谢内蒙古科技大学给了我学习深造的机会。最后,再一次感谢在这三年中关心、帮助和支持我的老师和同学。-55-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭