使用 DB2 pureXML 实现医疗行业数据解决方案
2010-05-13 00:00:00 来源:WEB开发网通过使用 API,QED 临床数据源接口根据 XML 请求创建一个简单的 SQL 语句,以便在临床数据源(例如从静态 XQuery 查询创建的关系数据库)上运行该语句。临床数据源接口将查询返回的匹配的 CDA 中的结果包装到 PCC-1 QED 响应中,临床数据使用者将它显示给终端用户,如图 4 所示。
图 4. PCC-1 QED 结果
查看原图(大图)
示例解决方案将 QED 消息中的医疗供给代码映射到临床数据源中的属性。并且定义从临床数据源中提取的数据的 XPATH。
处理查询
为了给 QED 标准查询提取数据,需要在 CDA 文档上运行静态查询。除了添加到临床数据源数据库的查询结果外,还需添加和映射一些附加字段,以便查询能找到满足 QED 规范所需的数据。数据的 XPath 也包括在一个列中。Connectathon 委员会指定 IBM Research 团队的 demo 必须提供的查询。清单 2 显示提取心搏观察数据的查询。
清单 2. 心搏观察数据
xquery
declare default element namespace "urn:hl7-org:v3";
for $obs in db2-fn:xmlcolumn('RIM.INSTANCE')
//section[@classCode='DOCSECT']
[code/@code='8716-3']/entry/observation[@classCode='OBS']
[code/@code='8867-4']
let $y := fn:root($obs)
let $entity_ext:=$y/*/id/@extension
let $entity_root:=$y/*/id/@root
let $effectiveTime:=$obs/effectiveTime[1]
let $statusCode:=$obs/statusCode
return <ibm:res xmlns:ibm="http://www.ibm.com/hrl" xmlns:v3="urn:hl7-org:v3"
entity_ext="{string($entity_ext)}" entity_root="{string($entity_root)}"
attr="HEART_BEAT" value="{string($obs/value/@value)}"
nullFlavor="{string($obs/value/@value/../@nullFlavor)}"
bakRef_root="{string($obs/id/@root)}" bakRef_ext="{string($obs/id/@extension)}">
<ibm:props>{$effectiveTime}{$statusCode}</ibm:props></ibm:res>
更多精彩
赞助商链接