找回密码
 欢迎注册
搜索
热搜: 活动 交友 discuz
查看: 2527|回复: 14

电子病例模型的最基础的数据类型的讨论与分析

[复制链接]
发表于 2003-7-21 22:46:56 | 显示全部楼层 |阅读模式
大家好!关于电子病例的研究大家讨论了很多,但是如果进行具体的电子病例开发,则需要更加详细认真的考虑和设计,我想从今天开始,从电子病例模型构建的基础数据类型开始,我提出由大家进行讨论怎么样,看看从最基础开始,大家能不能确定一个公认的模型基础。
发表于 2003-7-22 08:01:49 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

至于数据类型:
1.可以考虑直接用编程工具系统本身的数据类型,优点:现成,简单;缺点:表达力不够,难共享等。
2.可以考虑采用HL7 V3 DataType,优点:现成,基于应用层,表达力强,与HL7 RIM配合好;缺点:需要实现技术,复杂,难度大,尚不完善。
3.使用其它现成的数据类型。
4.根据系统分析,自定义,优点:可以在表达力和实现难度间达到适中,并能保证自已系统的需求;缺点:难以成为标准,需要实现。
5.需要设计一套专门的数据类型是许多研究组织都采用的做法,所以我认为HL7 V3 DT是一个比较好的选择,但实现起来可不容易,且这套DT还在制定中,还不很完善。
6.数据类型是设计模型时必需用到的,但电子病历由于对数据模型的要求很高(长期不变,独立于具体的软件,有很丰富的表达力,能复盖卫生、医学的方方面面......),所以设计公认的数据类型也就很重要但又很难。
 楼主| 发表于 2003-7-22 11:37:21 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

sbf2000关于数据类型的观点和我的观点很相似,如果要想让电子病例达到实用性,能够让医务人员非常准确的表达出自己的意思,必须要建立符合电子病例使用需求的数据类型,而且sbf2000关于不能使用语言本身的数据类型及HL7V3DT的原因说的很清楚,我的想法就是根据HL7 V3 DT的基础之上定义即符合HL7标准又能够根据具体需求进行抽象化的数据类型,如果在这里经过大家讨论能够被多数厂商接纳,将来在这个基础上可以向标准进行推动。
在进行数据类型定义时为了保证其科学性,有效性,可实施性,必须要满足下面的几个设计原则:
1、要以HL7V3 DT为设计基础,因为这是国际标准;
2、数据类型必须要有表达的清晰性;
3、数据类型必须具备实施的简易性,能够被面向对象语言很容易的实施;
4、必须要与其它的相关标准中的数据类型具有可交互性,如HL7、ISO18308等;
5、在设计中要遵循面向对象及XML Schema相关语法;
6、能够全面覆盖医疗方面关于数据类型的需求;
 楼主| 发表于 2003-7-27 17:01:12 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

从今天开始,我将陆续将我电子病例平台的基础数据类型设计放到帖子上,供大家研究讨论,其中将给出每个类在HL7中的对应类:
基础数据类型的包结构:如图
基础数据类型basic包的类结构图:如图
基础数据类型Text包的类结构图:如图
其中S_DateValue 是所有数据类型类的父类,类似于HL7中的ANY类;
basic package
S_State 类表示根据工作流引擎定义好工作流中的状态机中的状态值,比如表示一个治疗过程中每一步骤的状态;在HL7中没有与工作流相关的类定义;
text package
text package里包括在SEPR系统内表示所有文本值的类,包括plain text,coded terms,及 narrative text。
text 类设计时必须要考虑下面的原则:
1、不管临床或软件中使用什么术语集,最重要的是要通过text相关类使医生能够准确的记录他们所要所要表达的意思,也就是说如果医生不管是想记录很通用的术语“感冒”还是具体的术语如“SARS”,他们都能够进行记录而不管是否有合适的术语集可以使用,然而系统必须能够给任何文本项追加code,来满足前面的需要;
2、在电子病例中Text主要有叙述(Narrative)和编码(coded)文本两种,Narrative主要用于记录:主观性或不准确的病人情况,特别是一些不需要特别准确使用结构化的Quantitative或date/time类型来表示的quantities或dates;记录叙述性的描述,如医生对病人的观察;记录诊断的整个结论和结果;记录应该编码的术语,但是由于没有编码或术语集服务不可用;
编码文本在电子病例中的使用及用处很多,非常重要,主要用于处理从查询到很复杂的决策支持,主要解决下面的问题:
a、保证编码文本含义的正确性,比如采用ICD10或SNOMED术语集,任何读取数据的系统及软件都清楚术语的具体含义,因为在术语集中编码的具体含义的非常清晰的;
b、保证不正规缩写的正确识别,如医生经常把“systolic blood pressure”写成“systolic BP”“sys.BP”等等,使用编码术语能够保证能够保证这样的缩写能够使用或使其表示很清晰的含义;
c、可以限定术语值的范围,如:血型Blood Group=‘A|B|AB|O’;
d、进行相关数据的分类,用于统计研究的目的,在SEPR中按照ICD的疾病分类方法进行实际疾病相关数据的统计;
e、任何编码数据都是由术语服务中的标题和Key值组成,这样确保了在进行电子病例的数据交换时数据的完整性,即使病例的接受方没有相应的术语集也可以理解术语的具体含义;
f、编码数据可以通过Mapping机制使用多个术语集;
今天就先说这些,下一篇我将讲述Text包的具体类的设计思想,请大家指教。
(待续)


发表于 2003-7-28 08:38:32 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

请问 xuyunxi :
1.SEPR的全称是什么?
2.基础数据类型结构中为什么没有HL7 V3 DT中有的集(Set)、间隔(Inteval)等类型,你将如何表示烧伤程度I度、II度、III度这样的数据类型。
3.text 类设计原则1跟我想的动态自动编码完全一致。但是你要给任何文本项追加code时,如何识别最小文本项?比如“感冒”,你如何让软件识别这是一个词还是两个词“感”和“冒”?
4.叙述(Narrative)是不是文本分词后的最小单位,你如何确定Narrative文本的分割粒度(粒度越粗,表达精度越低)?
5.编码文本(Coded Text)如何处理编码进化(如ICD-9升级为ICD-10时,原编码发生了改变,如何实现兼容性)?
发表于 2003-7-28 15:57:50 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

看了两位的讨论,感觉受益非浅,但是觉得实现起来好难!
 楼主| 发表于 2003-7-28 16:06:11 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

呵呵,这些是电子病例系统开发所必须要解决的问题,将直接影响电子病例的有效性,否则就会像大家讨论的一样,如果让医生什么都输入,医生会坚决抵制的。其实这些是电子病例最基础最重要的,我已经实现了。
 楼主| 发表于 2003-7-28 22:19:17 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

sbf2000,等我的帖子都贴完,你的问题就会有答案的,SEPR是我开发的电子病例系统的简称。
 楼主| 发表于 2003-7-30 11:26:12 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

接上篇:
S_PlainText类:
说明:
      一个plain text类型的类,可以包含任意的合法的文本如词语或句子,任何S_PlainText类别的文本都可以通过增加映射来进行编码,对应于ISO18308中的STR2.6,2.9"HL7中的CWE
属性:
      1、value:String
      2、mappings:LIST<S_TERM_MAPPING>  与此术语最相近的来源于其他术语集中的术语,典型的代表是信息的起源处(如实验室)使用本地的术语集,但是可以提供一个或多个公共术语集中的替代术语;
      3、formatting:String 表示值的显示格式,采用CSS2的格式,如:“font-weight : bold"font-family : Arial" fontsize:12pt"”.
      4、hyperlink:S_URI  可选项代表对S_PlainText 和S_CodedTerm 类型的文本的链接
S_TermMapping类:
说明:
      表示将一个S_PlainText 类型的文本与一个编码本文之间建立映射,通过这种机制主要用于进行术语分类
     (如对SNOMED的术语增加ICD的分类机制)或在SEPR电子病例系统中使用多个术语集。对应于ISO18308中的STR4.5"HL7中没有类似的类
属性:
      1、target:S_CoordinatedTerm    将要映射的目标术语
      2、match: int   不同的值代表不同的映射类型 +1表示映射到更广泛的意思,如:orginal text=“节肢动物传染病毒感染”
         target=“过滤性病毒感染” 0 代表映射相同的意思术语 -1 代表映射成更具体的术语
      3、purpose:String   映射的目的,如“自动化的数据挖掘”“协同工作”等
S_CoordinatedTerm:
说明:一个完全的协同术语来自于术语服务,对应于ISO18308中的STR4.2"HL7中没有类似的类
属性:
     1、terminology_id:String  表示所采用的明确的术语集的识别符;
     2、code_string: String   表示术语服务所使用的分辨一个术语或术语组合的key值,该值只用于术语服务的内部解析使用
S_CodedText:
说明:
     此类代表一个文本项它的值必须是一个术语集中的标题,并且该类可以有任意数目的限制条件,因为S_CodedText是S_Text的子
     类,所以可以替代S_Text使用,从这点上S_Text可以表示成“一个文本项可以被随意的编码”,对应于ISO18308中的STR4.1,
     4.2,4.3,HL7中ConceptDescriptor(CD),CodedValue(CV)CodedSimple(CS)
属性:
    definition:S_CoordinatedTerm   
S_Paragraph:
说明:
    表示一个由一系列S_Text组成的符合文本值,此类是构建长文本项的标转化方法,如总结,报告等等中使用,
    对应于ISO18308中的STR2.6"HL7中没有类似的类
属性:items:LIST<S_Text>

关于电子病例系统中的文本数据类型的定义我已经阐述完了,在图中我举了一个例子,接下的帖子我将介绍数量数据类型的定义包括纯数量类型和文本化的数量类型定义。
(待续)
发表于 2003-8-4 10:50:41 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

请问xuyunxi,你在前面提到的ISO18308是关于什么的标准?我没有听到过,在网上查了一下也没有查到
 楼主| 发表于 2003-8-4 11:14:34 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

ISO18308是在2003年6月由ISO 的TC215 工作组即健康信息技术委员会 发布的“Requirement for EHR Reference Architecture”
发表于 2003-8-6 19:30:44 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

xuyunxi,你是在同医生们一起设计还是说你本身具有临床背景?
 楼主| 发表于 2003-8-6 22:07:02 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

呵呵,我有几个医学顾问给我进行问题的抽象和归纳。
 楼主| 发表于 2003-8-16 13:58:35 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

现在将陆续讨论数量型数据类型:
电子病例中数量数据类型类型可以划分为下面几种情况:
1、无量纲级整数数据:如“剂量数:2”
2、有维的数量: 如“110mm【Hg】”“178cm”
3、数率表示:“1:128”“250mg/500ml”
4、数量范围的表示:“45kg-65kg”
5、符号序数值: “++” “+++” “中度 ” “严重”
在数量类型中与数量意义相关的几个情况:
1、单位;
2、小数表示的精确度;
3、测量值的精确度;
4、引用的范围;
(待续)
发表于 2003-8-18 08:12:21 | 显示全部楼层

电子病例模型的最基础的数据类型的讨论与分析

我还是不懂,能简单点好了.
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

快速回复 返回顶部 返回列表