资源描述
密级
公开(√)普通()秘密()机密()绝密()
智业电子病历系统3.3
转储服务器使用说明书
序号
Number
作 者
Author
编写日期
CompileDate
版本
Version
校 核
Checker
校核日期
CheckDate
1
Jzh、bcd、zsy
2012-10-23
1.0
2
3
4
中国 厦门
厦门智业软件工程公司
Xiamen ZHIY Software Co.,Ltd
Xiamen PRC
声 明
本文档所有内容全部归属厦门智业软件工程公司所有,未经厦门智业软件工程公司的明确书面许可,任何其他个人或组织,均不得以任何形式将本文档内容复制、编辑或发布使用于其他场合。若发现上述或其他侵权行为,本公司将依据法律规定,追究其法律责任。
版权所有©2012厦门智业软件工程公司
【摘 要】
本文档详细描述了智业电子病历转储服务器使用说明书。
序号
№
版 本
Version
变 更 内 容
Alter Content
1
2
3
4
5
【版本变更说明】
目录
目录 3
1、基本功能说明 4
1.1、概述 4
1.2、程序部署 4
1.3、服务启动关闭 4
1.4、服务参数设定 5
1.5、服务日志查询 8
2、标准结构化解析服务 9
2.1、流程 9
2.2、配置标准结构化模版 9
2.3、配置病历模板及信息节点解析属性 9
2.3.1模版解析属性 9
2.3.2模版及信息节点属性配置 10
2.4、标准结构化数据库配置 13
2.4.1标准数据库连接配置 13
2.4.2执行标准结构化实现表和基本业务数据表语法 14
2.4.3扩展业务数据解析表 14
2.5、数据元标准库映射配置 16
2.5.1表主导配置 16
2.5.2异常配置数据删除说明 18
2.6标准解析错误分析功能 19
2.7标准化补解析功能 23
1、基本功能说明
1.1、概述
转储服务器为电子病历系统提供各种数据转储和处理的服务管理,如:标准结构化解析服务、消息服务器、市民健康上传服务和归档数据转储服务等。服务管理功能包括服务启动、服务关闭、服务基本参数设定和服务的日志查询等。
1.2、程序部署
1、将程序(zdumperver)拷贝到电子病历服务器中。
2、运行zdumpserver目录下的zdumpserveru.exe程序。
1.3、服务启动关闭
1、服务的启动
登录转储服务器后,系统会自动打开欢迎界面。欢迎界面里面有各个服务的列表。鼠标左击【启动】按钮,启动相应的服务,如图1-3-1所示。
图1-3-1
启动标准化解析服务后,该服务的状态会从【关闭】变成【启动】,并且系统日志会记录下该服务开启的线程号以及该服务的启动记录。如图1-2-2所示。
图1-3-2
2、服务的关闭
点击相应服务对应的的关闭按钮,关闭该服务,如图1-2-3所示。
图1-3-3
1.4、服务参数设定
1、参数设定界面
要设定服务参数,先确保程序当前目录下存在文件‘server.param.config.xml’,该文件是随着程序打包的,如图1-4-1所示。
图1-4-1
打开【管理】à【参数配置】的界面,如图1-4-2所示。
图1-4-2
要快速查找某个参数,在搜索参数方框内输入要查找的参数名称,参数列表就会过滤出该参数。也可以通过检索类型来筛选参数。
2、添加参数
要添加参数,则鼠标左键单击左下角的【添加】按钮,出现图1-4-3的界面。
图1-4-3
在这个对话框中,用户选定该参数的类型,并填写参数名称,参数的值和参数说明,单击【确定】按钮,则新建参数完成,并且参数列表会多出刚刚新增的参数。
3、删除参数
要删除某个服务参数,选中该参数所在的行,左键单击左下角的【删除】按钮。如图1-3-4所示。
图1-4-4
4、修改参数
要修改服务参数,双击该参数所在的行,则会弹出该参数的属性对话框,如图1-3-5所示,修改参数的属性值,按确定按钮完成修改。
图1-4-5
1.5、服务日志查询
启动转储服务器,打开【日志查看】à【系统日志】,界面如图1-5-1所示:
图1-5-1
可通过选中日志类型或者修改日志的起始查询时间和截止查询时间条件来过滤日志信息。
2、标准结构化解析服务
2.1、流程
1. 分析需要结构化的业务文档,参考《结构化电子病历配置说明书》,建立结构化信息节点。如果信息节点已经存在则直接使用。
2. 参考《结构化电子病历配置说明书》,配置标准的结构化模板。
3. 设置模板解析属性。
4. 配置标准库数据库连接。
5. 执行标准结构化实现表和基本业务数据表语法。
6. 根据现场项目业务数据分析新建和扩展业务数据表
7. 配置标准结构化表数据库的映射。
8. 保存病历,数据存储到标准库表中。
2.2、配置标准结构化模版
结构化模版,主要是把对应的节点通过标准的ID进行关联,把病历上的数据存储到数据库上,建立了业务文档所需的信息节点后,可在模板编辑器中将节点配置到模板中,详情参考《结构化电子病历配置说明书》。
2.3、配置病历模板及信息节点解析属性
2.3.1模版解析属性
把配置好的结构化首页模版,导入到电子病历首页模板中,并设置模版解析属性,设置属性如图2-3-1,结构化类型必须选择为STD_ID,以及选择标准结构化。
图2-3-1
2.3.2模版及信息节点属性配置
一、表格式多记录内容解析:
对于一般基本信息节点,只需配置对应的数据库字段映射就可以满足解析时条件;但是对于多记录内容(如压疮、跌倒记录表等),单纯数据元映射配置只解析为一条记录,而造成数据缺失。所以我们需要在编辑模板时,对同一组信息节点设置相同的keyid值。
例如,压疮记录模板(图 2-3-2):
图 2-3-2
表格中每一列所表示的内容属性是相同,用相同的信息节点结构化就可以了。为了区别每行记录内容并解析到对应的表中,需要对同一行的信息节点所在模板元素上设置相同的KEYID值。如图 2-3-2中,红框一行的模板元素属性里都设置了Keyid=1 这个属性。
图 2-3-3
依次这样设置,第二行设置keyid=2,…。
固定表格的模板,对应所有结构的单元格设置keyid的值;有些表格是动态增加,只需要在现有单元格上设置KEYID值,如上面的例子,动态变化的表格配置可以参考《内部结构化解析配置说明》中的表格式解析。
要注意的是:表格式解析要区分不同记录,必须有一个信息节点配置对应数据库表中的主键。如上面的压疮记录表,设置发生日期对应的数据元,需要配置到表中的主键字段上。
二、特殊信息节点无法解析到相关的表中
编辑结构化模板过程中,经常会为了方便使用,衍生一些特殊的信息节点,而这类信息节点缺少某些必须要的条件无法解析到标准库表中。
例如:诊断数据组中有诊断分类、中西类别、诊断顺序位三个关键分类数据元,如图2-3-4查看入院初步诊断信息节点的属性界面上的蓝色框。一般我们配置数据元表映射字段,关键分类的数据元会对应配置为表的主键,用于区分一个病人有多条诊断。而由图中绿色框的分类数据元只有两个,这样的信息节点如果解析到对应诊断表中,会因为插入主键值为空而报错。
因此,这一类型的信息节点不用解析到表,可在信息节点属性界面中去掉标准解析标识的复选框筛选。
图 2-3-4
另外,如果确实需要解析这个节点,可以在当前模板元素使用带序号的诊断,在元素属性设置internal_relative_id=” STD_DE_DIAGNOSIS_NAME|3|2”,使用id= STD_DE_DIAGNOSIS_NAME|3|2|1。如图 2-3-5,
图 2-3-5
这样,入院初步诊断能够解析,而获取的数据来源internal_relative_id这个关联的信息节点。
2.4、标准结构化数据库配置
标准结构化数据库配置是配置解析服务保存数据所在数据库,其中包括数据库连接串设置、基本实现表和基本业务表语法的执行、扩展业务数据解析表的升级。
2.4.1标准数据库连接配置
配置标准数据库连接是解析后的数据所存储的数据库。打开转储服务器应用程序后,在管理标签—标准解析配置—标准库配置, 如图2-4-1
,
图 2-4-1
打开配置界面后,可以看到标准库的配置信息,如下图2-4-2,
图 2-4-2
点击配置按钮,弹出如图 2-4-3的对话框,按要求输入用户名、密码和数据库服务器的TNS名。 点击测试按钮,测试连接是否成功,成功则确定。
图 2-4-3
设置成功后,关闭转储服务器程序,重启下服务端的组件。
2.4.2执行标准结构化实现表和基本业务数据表语法
设置数据库连接完成后,需要在所配置的数据库中执行必要的标准结构化实现表和基本业务表的语法。
一、 基本实现表的语法:
二、 基本业务表的语法:
说明:基本业务表中包含了,手术和诊断的结构化表,如果现场项目已经做了诊断和手术的结构化(本身使用了结构化的手术诊断录入方式),不创建。
2.4.3扩展业务数据解析表
除了实现表和基本业务表外,各医院可根据自己的需要按创建解析表的规则创建扩展业务数据解析表。
创建数据解析表的规则:
一、基本字段
解析表必须包含四个基本字段:病人 ID 、住院事件号、文档标识、内部ID ,代码:
PATIENT_ID VARCHAR2(36) not null,
EVENT_NO VARCHAR2(128) not null,
DOC_CODE VARCHAR2(128) not null,
ID VARCHAR2(128),
注:红色三个字段必须為主键,内部ID 必须创建唯一的索引。
二、建表原则:
以数据组为单位,一个解析表对应一个数据组,表结构的每个字段对应该数据组下的数据元,注:衍生信息节点不用建对应字段,配置时是以基本信息节点对应的数据元配置的。
三、命名规则:
创建表时,表名以ZSTD_ 开头,表名comment 备注以数据;创建字段名时,除上述四个字段外,其它字段命名时,comment 备注内容必须填完整,备注内容最好使用数据元的中文名,这样可以方便在配置数据元字段映射时检索速度。如图2-4-4
图 2-4-4
四、创建主键原则:
创建表时,设置表主键除了四个基本字段中的三个字段必须设为主键外,其它字段是否为主键要根据解析表的类型来设置。
基本上,解析表的类型可以分成三大类:
(一) 基本表类型:
这一类型的表体现为:与病人相关的数据元,一个病人只有一条记录;与病历相关的数据元,每个病人对应的一份病历只有一条记录。这样的表只需要规则一中提到的三个基本主键字段就可以。
例如图2-4-5,服务对象标识:ZSTD_SERVICED_INFO
图 2-4-5
(二) 以关键分类数据元区分的多记录表类型:
这一类型的表体现为:多以数据组下关键分类的数据元来区分不同记录,但记录之间各列内容的属性是一致的。同一个病人或者同一份病历中许多属性一样但内容不一样的数据记录。需要将关键分类数据元所对应的字段设为主键,所以在建相关表时,先确定关键数据元所要配置的字段,将其设为主键。
例如:诊断表,手术表、地址信息表等这样的类型都是为同一病人多记录,他们共性都是以其中的关键分类数据元来区分不同记录内容。以诊断表为例,图2-3-4中知道诊断数据组下有三个数据元是关键分类数据元,那么建表如图 2-4-6,
图 22-4-6
(三) 以一般数据元区分的表格式多记录类型:
这一类型的表体现为:不同记录以其中某个数据来区分,多使用于表格解析中。病历中的表格每列内容属性都是一致的,只需要用一个数据元来表示,但每一条记录的内容是不一样的,而其中一个数据元可以来区分这些记录,这个数据元对应的字段则必须设置为表的主键之一。
例如,压疮记录表、跌倒记录表等都是以其中某个数据元来作为表的关键字段(如,压疮发生日期),图2-3-2就是表格式模板。那么,这样类型的表创建如图2-4-7:
图2-4-7
2.5、数据元标准库映射配置
2.5.1表主导配置
1、映射配置主界面
打开【管理】à【数据元映射配置(表主导)】。界面如图2-5-1-1所示:
图2-5-1-1
2、配置映射的数据元
字段列表列出了每个字段所配置好的映射数据元信息。要给一个字段配置数据元,点击所在行的【配置】按钮,弹出数据元选择对话框,如图2-5-1-2所示。
在数据元列表中通过检索,选中要配置的数据元,选择数据元节点值类型下拉列表【value】或者【code】项目类型,点击【确定】按钮,完成配置。配置完成后,配置信息会在字段列表中显示。
数据元节点值value 读取的是数据元对应信息节点的值内容。
数据元节点值code 读取的是数据元对应信息节点的代码内容。
图2-5-1-2
3、删除映射配置信息
要删除已经映射的配置信息,则在字段所在的行,点击【删除】。如图2-5-1-3所示。
图2-5-1-3、
要删除多行数据,勾选字段第一列的复选框,点击右下角的删除按钮。如图2-5-1-4所示:
图2-5-1-4
2.5.2异常配置数据删除说明
1、删除表不存在的配置信息
在映射信息仍然存在但是表不存在的情况下,在打开配置界面时,系统会给出提示,如图2-5-2-1所示。
图2-5-2-1
可通过删除按钮将该表存在的原有的配置信息都删除。
2、删除字段不存在的配置信息
有些配置信息的字段是不存在的,这时候无效的字段配置信息会显示在字段列表的下方,如图2-5-2-2所示,可通过报表的的【删除】按钮把它删除。
图2-5-2-2
说明:这两种异常配置必须删除否则解析无法通过
2.6标准解析错误分析功能
病历解析执行相应SQL 语法过程中,有可能因为配置原因或者表结构更改等原因造成保存数据库错误。标准解析服务日志只能够查看到解析某一份病历出错了,具体的错误原来只有通过标准解析错误分析功能查看。
登陆转储服务,打开主页标签— 标准化解析—错误分析 按钮,如图2-6-1:
图2-6-1
打开分析界面后,有四个标签,如图2-6-2
图2-6-2
一、 标准解析错误查询:
查找解析出错的病历记录,检索条件可根据病人姓名,病历名称、解析时间,选择你需要查找条件,但必须至少包含一个条件。查找到记录会显示在下面报表中,报表显示错误记录的基本信息,点击其中的链接可以直接切换到对应记录的内容。
二、 标准解析错误分析
在查询记录中点击其中一条记录的“分析”链接,会切换分析界面。在界面中 “操作”组中除了显示基本信息和操作外,病历解析包含的表及表的记录,如图2-6-3
图2-6-3
应用程序会直接定位到最先出现错误的记录中,可以更改下拉框内容,查看其它解析记录。通过查看下面两个报表内容对比的错误信息,可以分析出主要的错误的地方。根据建议修改。如图2-6-4
图 2-6-4
目前,错误分析提供以下几种错误的分析:
"内容过长(建议修改字段长度)";
"配置其它数据元";
"字段不存在";
"类型不匹配";
"主键未配置数据元";
"配置表不存在";
"時間格式不正確";
"主键值不允许为空";
可以根据相关的错误,更改相应的配置或者表结构。
三、 原始XML
显示由病历解析成的XML 格式的数据内容,作为辅助分析。如图2-6-5
图2-6-5
图中左边部分显示XML 的原始内容,右边报表把每个节点的内容和属性显示出来。该XML 结构的节点格式:
<info_node id="STD_DE_IDENTITY_NUMBER|01" keyid="" doc_relate="0" eidt="" static_flag="" live="" display_type="" code="" promt="服务对象标识/身份证号码" promt_flag="0" dictitem_flag="">
<html_content><![CDATA[365525254155895695255]]></html_content>
<text_content><![CDATA[365525254155895695255]]></text_content>
</info_node>
四、 SQL 语句
查看解析组装SQL 语法的XML 内容,其中SQL 语法内容结构的节点格式如下:
<std_sql doc_type="1" error="1">
<select><![CDATA[select id from ZSTD_SKIN_PRESSURE_ULCERS where PATIENT_ID='3001538535' and EVENT_NO='371612001' and PRESSURE_DATE=to_date('222', 'YYYY-MM-DD HH24:MI:SS') and doc_code='18913bda-716f-44e1-b266-18d5d4616393']]></select>
<delete><![CDATA[delete from ZSTD_SKIN_PRESSURE_ULCERS where PATIENT_ID='3001538535' and EVENT_NO='371612001' and PRESSURE_DATE=to_date('222', 'YYYY-MM-DD HH24:MI:SS') and doc_code='18913bda-716f-44e1-b266-18d5d4616393']]></delete>
<insert><![CDATA[insert into ZSTD_SKIN_PRESSURE_ULCERS ( PATIENT_ID, EVENT_NO,ID,DOC_CODE,PRESSURE_POS_CODE,PRESSURE_POSTITION,PRESSURE_DATE,PRESSURE_DIR_CODE,PRESSURE_DIRECTION,PRESSURE_SOURCE,PRESSURE_FLAG) values('3001538535','371612001','0bc3957e-174e-4fe3-9a48-5603de6456d0','18913bda-716f-44e1-b266-18d5d4616393',NULL,'背部',to_date('222', 'YYYY-MM-DD HH24:MI:SS'),'01','上','院内-难免','有')]]></insert>
<update><![CDATA[update ZSTD_SKIN_PRESSURE_ULCERS set PRESSURE_POS_CODE=NULL,PRESSURE_POSTITION='背部',PRESSURE_DATE=to_date('222', 'YYYY-MM-DD HH24:MI:SS'),PRESSURE_DIR_CODE='01',PRESSURE_DIRECTION='上',PRESSURE_SOURCE='院内-难免',PRESSURE_FLAG='有' where PATIENT_ID='3001538535' and EVENT_NO='371612001' and PRESSURE_DATE=to_date('222', 'YYYY-MM-DD HH24:MI:SS') and doc_code='18913bda-716f-44e1-b266-18d5d4616393']]></update>
<refinfo data_id="0bc3957e-174e-4fe3-9a48-5603de6456d0" emr_id="18913bda-716f-44e1-b266-18d5d4616393" event_no="371612001" patient_id="3001538535" table_name="ZSTD_SKIN_PRESSURE_ULCERS">
<de_info column_name="PRESSURE_POS_CODE" de_id="EXT_DE_HLYCBW" info_node_id="EXT_DE_HLYCBW" primary="" table_name="ZSTD_SKIN_PRESSURE_ULCERS">NULL</de_info>
<de_info column_name="PRESSURE_POSTITION" de_id="EXT_DE_HLYCBW" info_node_id="EXT_DE_HLYCBW" primary="" table_name="ZSTD_SKIN_PRESSURE_ULCERS">'背部'</de_info>
<de_info column_name="PRESSURE_DATE" de_id="EXT_DE_SKIN_PRESSURE_ULCERS_HAPPEN_DATE" info_node_id="EXT_DE_SKIN_PRESSURE_ULCERS_HAPPEN_DATE" primary="1" table_name="ZSTD_SKIN_PRESSURE_ULCERS">to_date('222', 'YYYY-MM-DD HH24:MI:SS')</de_info>
<de_info column_name="PRESSURE_DIR_CODE" de_id="EXT_DE_HLYCBWFW" info_node_id="EXT_DE_HLYCBWFW" primary="" table_name="ZSTD_SKIN_PRESSURE_ULCERS">'01'</de_info>
<de_info column_name="PRESSURE_DIRECTION" de_id="EXT_DE_HLYCBWFW" info_node_id="EXT_DE_HLYCBWFW" primary="" table_name="ZSTD_SKIN_PRESSURE_ULCERS">'上'</de_info>
<de_info column_name="PRESSURE_SOURCE" de_id="EXT_DE_SKIN_PRESSURE_ULCERS_SRC" info_node_id="EXT_DE_SKIN_PRESSURE_ULCERS_SRC" primary="" table_name="ZSTD_SKIN_PRESSURE_ULCERS">'院内-难免'</de_info>
<de_info column_name="PRESSURE_FLAG" de_id="EXT_DE_HLYCBZ" info_node_id="EXT_DE_HLYCBZ" primary="" table_name="ZSTD_SKIN_PRESSURE_ULCERS">'有'</de_info>
</refinfo>
</std_sql>
每一条执行语句对应XML 中std_sql 节点,节点属性doc_type 表示文档相关性,1表示文档相关,0表示病人相关;属性error表示错误的位置,0表示执行正确语句,1表示当前这个节点语法有问题,没有该属性则未执行。(如果执行到当前节点有问题,下面将不再执行。)
这个节点内容含有Seletc、Insert、Update、Delete语句,de_info节点显示相关数据元及配置表和列信息。
分析完错误内容并修改配置后,可以在查询标签的界面对应记录上,点击补解析,来重新解析这个病历内容。
2.7标准化补解析功能
对于以往结构化病历如果重新解析,可以使用病历补解析功能。在转储服务器程序中找到病历补解析功能,如图2-7-1,进入界面
图2-7-1
如图2-7-2,通过查找按钮,查找需要补解析病人,加载到报表中。
图2-7-2
展开病人节点树,点击报表中的链接,可以对单个病人的所有病历、单个病案类别的所有病历或者单个病历,进行补解析。注意:解析的病历中对应的模板必须设置相关标准解析标识,病历内容含有结构化节点,并且相关数据元配置完整的。
病历补解析界面还提供批量解析病人病历。如图2-7-3:
勾选病人记录前的复选框,选择要解析的病历,解析按钮会激活可用。这样可以以病人为单位批量解析病人所有的病历;
还可能通过来选择需要解析的病历所有的病案目录类别,此时批量解析时,会过滤掉未选择的目录中的病历。设置目录解析过滤,可以提高解析效率。
图2-7-3
这两个复选框表示,启用哪种补解析,如果都选择,两种解析都会误用。
展开阅读全文