电子病历及报告格式(技术)
移动临床电子病历及报告格式
制作指南
资料拟订记录:
拟制: 艾华 日期: 2011-11-14
审核: 日期: 批准:
日期:
资料修订记录:
前言
知识点:
在移动临床产品的医生站中,查阅电子病历和检验、检查报告是一个重要的功能。在本产品中通过将HIS 中的病历文件数据转换成XML 并使用XSLT 进行将样式转换为HTML ,使浏览器能直接进行阅读。因此本资料重点介绍了移动医生工作站中电子病历和报告的产生方式以及制作、修改、使用样式所涉及到的知识和技术,主要涉及以下几个方面:
电子病历和报告的产生方式 HTML 基础知识 XML 基础知识 XSLT 基础知识 服务对象:
实施人员 医院系统管理员 目标:
让实施人员了解移动医生工作站中电子病历和报告是如何产生的,以及如何对格式进行设置或修改
名词解释:
HTML :文本标记语言,(Hypertext Markup Language),是用于描述网页文档的一种标记语言。
XML :可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
XSL: 可扩展样式表语言 (EXtensible Stylesheet Language) ,是一种用于以可读格式呈现 XML 数据的语言。XSL 实际上包含两个部分:
* XSLT – 用于转换 XML 文档的语言 * XPath – 用于在 XML 文档中导航的语言
目录
1移动临床电子病历及报告生成介绍 . ........................................................................................... 6 2 HTML基础 . ..................................................................................................................................... 7
2.1 HTML简介 . ......................................................................................................................... 7 2.2 HTML标签 . ......................................................................................................................... 8 2.3 HTML元素 . ......................................................................................................................... 9 2.4 HTML属性 . ......................................................................................................................... 9 2.5 HTML表格 . ....................................................................................................................... 10 2.6 HTML图像 . ....................................................................................................................... 11 3 XML基础...................................................................................................................................... 12
3.1 XML 简介 . ........................................................................................................................ 12 3.2 XML 树结构 . .................................................................................................................... 12 3.3 XML 语法规则 . ................................................................................................................ 13 3.4 XML 元素 . ........................................................................................................................ 14 3.5 XML 属性 . ........................................................................................................................ 14 4 XSL基础...................................................................................................................................... 14
4.1 XSL简介 . ......................................................................................................................... 14 4.2 XSLT . ................................................................................................................................ 15
4.2.1 XSLT简介 ............................................................................................................... 15 4.2.2 XSLT样式申明 ....................................................................................................... 17 4.2.3 元素 . ............................................................................................. 17 4.2.4 元素 ............................................................................................... 18 4.2.5 元素 ............................................................................................... 18 4.2.6 元素 .......................................................................................................... 18 4.2.7 元素 ................................................................................................. 19 4.3 XPath . .............................................................................................................................. 19
4.3.1 Xpath 简介 ............................................................................................................ 19 4.3.2 XPath 节点 ............................................................................................................ 19 4.3.3 XPath 语法 ............................................................................................................ 20
4.3.4 Xpath 轴 ................................................................................................................ 21 4.3.5 XPath 运算符 ........................................................................................................ 23
5 样式文件的使用 . ........................................................................................................................ 24 6 小结 ............................................................................................................................................ 26 附录:HTML 标签列表 . ................................................................................................................... 27 附录:XSLT 元素列表 .................................................................................................................... 31 附录:Xpath 常用函数参考 . ......................................................................................................... 33
1移动临床电子病历及报告生成介绍
1 病历模板:书写病历的基础参照结构,在书写病历时只能对模板中的内容进行修改而不能对模板的结构进行修改,在转换成XML 文件时也是以病历模板的结构为基础,通常不同的住院病历文件和检查、检验报告单都有着不同的病历模板。
2 书写病历:依据该病历对应的病历模板为基础,书写完毕的病历文件其文档结构(提纲结构、顺序等)与对应的模板是一致的,但不同的操作员有不同的书写习惯,在书写的时候可以对病历的内容、格式进行修改,当提纲的结构不会变化。
3 转换XML :将书写好的病历文件转换为对应的XML 文件格式,在移动设备上查询病历时自动进行转换。转换时依照一定转换规则、病历结构和病历格式设置(设置病历文件的分组对照及对应的XSLT 样式文件)将病历文件中的内容转换为对应的XML 元素
4 显示:将XML 文件内容按照对应的XSLT 样式文件转换成可在浏览器中可以直接进行显示的格式(HTML 网页),通过病历格式设置可将不同的XML 文件对应不同的XSLT 样式,XSLT 样式文件是XML 显示出来的效果如何的直接因数。 其间关系可反映为:
在病历模板和书写固定了的情况下,要使移动医生系统中的病历和报告显示的效果,需要: 1 合理设置病历文件的分组对照及对应的XSLT 样式文件 2 针对每组病历制作通用的XSLT 样式文件
由于在对XML 进行样式转换的时候是将其转换为HTML 的样式,因此我们在制作XSLT 样式文件时需要了解以下知识:
1 HTML:病历显示出来的最终样式,作为XSLT 文件内的元素内容进行输出 2 XML :包含病历文件的源数据格式和结构 3 XSL :如何对包含病历源数据的XML 进行转换
2 HTML基础
2.1 HTML简介
什么是 HTML 文件?
● HTML 指超文本标签语言。
● HTML 文件是包含一些标签的文本文件。
● HTML 不是一种编程语言,而是一种标记语言 (markup language) ● 标记语言是一套标记标签 (markup tag) ● HTML 使用标记标签来描述网页
● 这些标签告诉 WEB 浏览器如何显示页面。
一个网页对应于一个HTML 文件,HTML 文件以.htm 或.html 为扩展名。可以使用任何能够生成TXT 类型源文件的文本编辑来产生HTML 文件。 标准的HTML 文件都具有一个基本的整体结构,即HTML 文件的开头与结尾标志和HTML 的头部与实体2大部分。有3个双标记符用于页面整体结构的确认。
标记符说明该文件是用HTML 来描述的。它是文件的开头,而则表示该文件的结尾,它们是HTML 文件的始标记和尾标记。
这2个标记符分别表示头部信息的开始和结尾。头部中包含的标记是页面的标题、序言、说明等内容,它本身不作为内容来显示,但影响网页显示的效
果。头部中最常用的标记符是标题标记符其中标题标记符用于定义网页的标题,它的内容显示在网页窗口的标题栏中,网页标题可被浏览器用作书签和收藏清单。
,网页中显示的实际内容均包含在这2个正文标记符之间。
一个实例如下:
将该实例在记事本中以.html 后缀进行保存,将可以通过浏览器显示为以下内容:
2.2 HTML标签
HTML 文档是由 HTML 元素构成的文本文件。 HTML 元素是通过使用 HTML 标签进行定义的。 HTML 标记标签通常被称为 HTML 标签 (HTML tag)。
∙ HTML 标签是用来标记 HTML 元素的。 ∙ HTML 标签被 符号(尖括号)包围。 ∙ HTML 标签通常是成对出现的。例如 和 。
∙ 位于起始标签(开放标签)和终止标签(闭合标签)之间的文本是元素的内容。∙ 开始标签是被尖括号包围的元素名 ∙
结束标签是被尖括号包围的斜杠和元素名
∙ ∙ ∙
某些 HTML 元素没有结束标签,比如
HTML 标签对大小写不敏感, 和 的作用的相同的。 浏览器不会显示 HTML 标签,而是使用标签来解释页面
HTML 使用的是预定义好的标签,各标签的含义可参照HTML 标签列表
2.3 HTML元素
HTML 元素指的是从开始标签到结束标签的所有代码。
∙ ∙ ∙ ∙ ∙ ∙ ∙
HTML 元素以开始标签起始 HTML 元素以结束标签终止
元素的内容是开始标签与结束标签之间的内容 某些 HTML 元素具有空内容(empty content)
空元素在开始标签中进行关闭(以开始标签的结束而结束) 大多数 HTML 元素可拥有属性 大多数 HTML 元素可以嵌套。
2.4 HTML属性
∙
HTML 标签拥有属性。属性为 HTML 元素提供附加信息,对元素内的内容样式进行修改往往也是通过属性来实现
∙ 属性总是以名称/值的形式出现(name="value"),比如
,其中border="1"就是一个属性和它的值
∙ ∙ ∙
属性总是在 HTML 元素的开始标签中规定。 属性和属性值对大小写不敏感。
属性值应该始终被包括在引号内,双引号或单引号都可以使用,但双引号最常用;
除base 、head 、html 、meta 、param 、script 、style 以及 title 元素外,其他元素都包含以下核心属性:
2.5 HTML表格
可以使用 HTML 创建表格。
表格由
标签来定义。每个表格均有若干行(由 标签定义),每行被分割为若干单元格(由
标签定义)。字母 td 指表格数据(table data ),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。 标签需要正确的进行嵌套,如下表示了一个2行2列的表格: 在浏览器中显示如下: 可以通过控制表格标签的常用属性来定义表格样式: 2.6 HTML图像 ∙ ∙ ∙ ∙ 在 HTML 中,图像由 标签定义。 是空标签,它只包含属性,并且没有闭合标签。 要在页面上显示图像需要使用源属性(src )。 源属性的值是图像的 URL 地址。 定义图像的语法是: URL 指存储图像的位置,可以指定为本地路径或网络地址。如果名为 "boat.gif" 的图像位于 www.zlsoft.com 的 images 目录中,那么其URL 为 http://www.zlsoft.com/images/boat.gif;如果位于本地,则其路径为相对于该HTML 文件的相对路径。 浏览器将图像显示在文档中图像标签出现的地方。 alt 属性用来为图像定义一串预备的可替换的文本。替换文本属性的值是用户定义的。 比如: 在浏览器无法载入图像时,替换文本属性告诉他们失去的信息。此时,浏览器将显示这个替代性的文本(Big Boat)而不是图像。 3 XML基础 3.1 XML 简介 ∙ ∙ ∙ ∙ ∙ XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义。您需要自行定义标签。 XML 被设计为具有自我描述性。 XML 与 HTML 的主要差异: ∙ ∙ ∙ ∙ ∙ ∙ XML 不是 HTML 的替代。 XML 和 HTML 为不同的目的而设计: XML 被设计为传输和存储数据,其焦点是数据的内容。 HTML 被设计用来显示数据,其焦点是数据的外观。 HTML 旨在显示信息,而 XML 旨在传输信息。 XML 不会做任何事情 3.2 XML 树结构 ∙ ∙ ∙ ∙ XML 文档形成一种树结构 XML 文档必须包含根元素。该元素是所有其他元素的父元素。 XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。 所有元素均可拥有子元素 ∙ 父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上 的子元素成为同胞(兄弟或姐妹)。 ∙ 所有元素均可拥有文本内容和属性(类似 HTML)。 在如下实例中,代表了根元素,为他的子元素,同时也存在子元素 在一个完整的XML 文档中,第一行需要 XML 声明。它定义 XML 的版本和所使用的编码: 3.3 XML 语法规则 ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 所有 XML 元素都须有关闭标签 XML 标签对大小写敏感 XML 必须正确地嵌套 XML 文档必须有根元素 XML 的属性值须加引号 在 XML 中,空格会被保留 XML 中的注释( ) 在XML 中某些特殊的字符不能直接出现,需要进行实体引用: 3.4 XML 元素 XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。 XML 元素必须遵循以下命名规则: ∙ ∙ ∙ ∙ 名称可以含字母、数字以及其他的字符 名称不能以数字或者标点符号开始 名称不能以字符 “xml”(或者 XML、Xml )开始 名称不能包含空格 3.5 XML 属性 • • • XML 元素可以在开始标签中包含属性,类似 HTML ,采用名称/值的形式。 属性 (Attribute) 提供关于元素的额外信息。 XML 属性必须加引号,单引号和双引号均可使用。 4 XSL基础 4.1 XSL简介 XML 不使用预先定义的标签,并且这些标签的意义并不都那么容易被理解: 在XML 中 元素意味着一个 HTML 表格,一件家具,或是别的什么东西,但浏览器不清楚如何显示它。 XSL 包括三部分: XSLT : 一种用于转换 XML 文档的语言。 XPath : 一种用于在 XML 文档中导航的语言。 XSL-FO :一种用于格式化 XML 文档的语言。 在这里,我们着重讲解前两部分的内容 4.2 XSLT 4.2.1 XSLT简介 什么是 XSLT? ∙ ∙ ∙ ∙ XSLT 指 XSL 转换(XSL Transformations)。 XSLT 是 XSL 中最重要的部分。 XSLT 可将一种 XML 文档转换为另外一种文档。 XSLT 使用 XPath 在 XML 文档中进行导航。 XSLT 是 XSL 中最重要的部分,使用预定义的元素对XML 的元素进行操作。 XSLT 用于将一种 XML 文档转换为另外一种 XML 文档,或者可被浏览器识别的其他类型的文档,比如 HTML 和 XHTML。通常,XSLT 是通过把每个 XML 元素转换为HTML 元素来完成这项工作的。 通过 XSLT,可以向或者从输出文件添加或移除元素和属性。也可重新排列元素,执行测试并决定隐藏或显示哪个元素,等等。 XSLT 使用 XPath 在 XML 文档中查找信息。XPath 被用来通过元素和属性在 XML 文档中进行导航。 在转换过程中,XSLT 使用 XPath 来定义源文档中可匹配一个或多个预定义模板的部分。一旦匹配被找到,XSLT 就会把源文档的匹配部分转换为结果文档。 如下的XML 文档(TEST.XML )可以由之后的XSLT 来进行转换并显示: 用于转换的XSL(Senc.xsl): 要向 XML 文档("test.xml" )添加 XSL 样式表引用需要在XML 文档中添加: 在该实例中,HTML 标签也被作为输出的内容,使源XML 文档在显示的时候按照使用的HTML 格式进行节点内容的输出。 4.2.2 XSLT样式申明 由于 XSL 样式表本身也是一个 XML 文档,因此它总是由 XML 声明起始: 把文档声明为 XSL 样式表的根元素是 或 , 和 是完全同义的,均可被使用! 根据 W3C 的 XSLT 标准,声明 XSL 样式表的正确方法是: 或者: 4.2.3 元素 • • • • XSL 样式表由一个或多套被称为模板(template )的规则组成。 每个模板含有当某个指定的节点被匹配时所应用的规则。 XSL 样式表由一个或多套被称为模板(template )的规则组成。 每个模板含有当某个指定的节点被匹配时所应用的规则。 元素用于构建模板。 match 属性用于关联 XML 元素和模板。match 属性也可用来为整个文档定义模板。match 属性的值是 XPath 表达式(例如match="/" 定义整个文档)。 比如表示match 指定的元素按照该元素内定义的模板进行格式转换,可以通过进行模板的调用 4.2.4 元素 元素用于提取某个选定节点的值,并把值添加到转换的输出流中。例如:将在该位置提取并显示 Document/Compend/Text节点的值。 select 属性的值是一个 XPath 表达式。此表达式的工作方式类似于定位某个文件系统,在其中正斜杠可选择子目录。 4.2.5 元素 元素允许在 XSLT 中进行循环,用于选取指定的节点集中的每个XML 元素。 比如:将循环选取每个Compend 元素。 select 属性的值是一个 XPath 表达式。此表达式的工作方式类似于定位某个文件系统,在其中正斜杠可选择子目录。 通过在 元素中添加一个选择属性的判别式,我们也可以过滤从 XML 文件输出的结果。 比如上面的例子改为将循环选取每个ID 属性等于1的Document/Compend元素。合法的过滤运算符如下: 4.2.6 元素 元素用于放置针对 XML 文件内容的条件。 必选的 test 属性的值包含了需要求值的表达式。 4.2.7 元素 更多XSL 元素的使用可参照XSLT 元素列表 4.3 XPath 4.3.1 Xpath 简介 XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。 ∙ ∙ ∙ XPath 使用路径表达式在 XML 文档中进行导航 XPath 包含一个标准函数库 XPath 是 XSLT 中的主要元素 4.3.2 XPath 节点 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。 节点关系: 父(Parent ):某个节点被包含的上级节点 子(Children )某个节点直接包含的下级节点 同胞(Sibling )和某个节点拥有相同父的节点 先辈(Ancestor )某个节点的父、父的父,等等 后代(Descendant )某个节点的子,子的子,等等 4.3.3 XPath 语法 XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。 例如: 谓语(Predicates ): 谓语用来查找某个特定的节点或者包含某个指定的值的节点。谓语被嵌在方括号中: 选取未知节点: XPath 通配符可用来选取未知的 XML 元素。 实例: 4.3.4 Xpath 轴 轴可定义某个相对于当前节点的节点集。 位置路径表达式: Xpath 使用路径表达式来定义节点位置。位置路径可以是绝对的,也可以是相对的。 位置路径均包括一个或多个步,每个步均被斜杠分割,比如:/Document/Compend[1]分别由Document 和Compend[1]两个步构成,并由 / 进行分割 步(step )包括: 轴(axis ):定义所选节点与当前节点之间的树关系 节点(node-test ):识别某个轴内部的节点 零个或者更多谓语(predicate ):更深入地提炼所选的节点集 步的语法: 轴名称::节点[谓语] 4.3.5 XPath 运算符 在使用Xpath 的表达式时,同样的可以调用预定义的函数进行结果的返回,关于Xpath 函数的使用请参照Xpath 常用函数参考 5 样式文件的使用 在当前版本的移动医生站中,一共预定义了6个XSLT 文件来对电子病历进行样式的处理: 除了检验、检查报告单外,其他的病历文件都需要在初始化时进行分组对照,并指定使用的样式文件(参照初始化手册中移动医生工作站的初始化),若需要对样式做出调整则只需要对相应的XSLT 样式文件进行修改即可,也可以自行增加XSLT 样式文件并存放在\Html\xsl目录下面,通过病历设置的初始化功能进行对照即可。 对于常用的样式文件,可以根据XML 的提取规则进行编写。 一般格式如下: 对于一般格式而言,通常情况下可以通过在XSLT 样式表中标签内添加如下内容产生名称: 在标签内添加如下内容来定义居中、大字体的标题: 对于文件主体内容,可以通过循环的方式访问每个节点来生成内容: 对于以上的代码,可以在中添加谓语指定访问特定节点内的内容,比如,也可以在内通过或来设置条件使输出的内容格式更多样化 6 小结 以上内容,包含了在制作、使用移动医生工作站病历和报告样式时所使用到的必备知识,仅对实施人员提供参考和指导的作用。若需要进一步了解相关知识,请自行进行加深学习。 附录:HTML 标签列表 附录:XSLT 元素列表 31 32 附录:Xpath 常用函数参考 33 34 35 36 37 |