一种电子病历的数据压缩算法制造技术

技术编号:2835785 阅读:227 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种电子病历的数据压缩算法,包括:预处理步骤:将结构化的病历信息处理为包含有:“0~9”十个数字符号,“A”、“V”两个英文大写字母和一个小数点“.”符号的文本字符,所述的字符“A”表示定位有效,字符“V”表示定位无效;编码步骤:将步骤(1)的文本字符编码;将步骤(2)得到的编码信息采用动态限长变化的不等长编码方法进行数据压缩。通过本发明专利技术的数据压缩算法可以大大降低网络的开销和“肥胖”病历信息在网络上传输过程中出错的可能性。

【技术实现步骤摘要】

本专利技术涉及一种电子病历的数据压缩算法
技术介绍
目前在电子病历结构化方面做得比较好的产品都是采用XML对病历信息进行描述,但是由此也产生了一些隐患。比如因为将病历信息按照页、块、元素划分,每一部分使用XML标记加以区分,这就使得病历的内容变得“肥胖”。“肥胖”的内容尤其在带宽低、稳定性相对不好的无线网络上传输的时候,发生异常时错误的可能性就相对较大。
技术实现思路
本专利技术目的在于提供一种有效地压缩电子病历的数据压缩算法。所述的电子病历的数据压缩算法,包括(1)预处理步骤将结构化的病历信息处理为包含有“0~9”十个数字符号,“A”、“V”两个英文大写字母和一个小数点“.”符号的文本字符,所述的字符“A”表示定位有效,字符“V”表示定位无效;(2)编码步骤将步骤(1)的文本字符按下述原则编码字符 四位二制编码0 00001 00012 00103 00110 1005 01016 01107 01118 10009 1001. 1010A 1011V 1100(3)将步骤(2)得到的编码信息采用动态限长变化的不等长编码方法进行数据压缩。进一步,所述的步骤(1)还包括“B”和“W”两个文本字符,“B”表示定位有效时语句校验出错,“W”表示定位无效时语句校验出错;步骤(2)中对应于“B”和“W”的编码如下字符四位二制编码B 1101W 1110。这两个字符是在压缩预处理过程中,用来记录那些因语句校验出错而舍弃的语句。因为每条语句的时间信息全部在预处理阶段被舍弃,在解压缩时要恢复时间值。该值在正常情况下是根据时间的基数再加上语句的计数值(由于每秒接受到一条语句,所以语句计数值就是以秒为单位的时间增量)确定的。当发生语句校验出错时,若处于定位有效状态,则在定位状态记录上不填写“A”字符,而填写“B”字符;若处在定位无效状态,则不填写“V”字符,而填写“W”字节。在以后解压缩时,若检测到“A”、“V”字节,时间的还原按正常的算法进行;若检测到“B”、“W”字符时,进行的还原除了按正常的算法进行以外还要加上秒钟,这样才能确保时间能够正确的恢复,这是因为“B”、″W″字节表示上一条语句发生错误已经被丢弃,语句的压缩是非连续的,有继句现象发生。再进一步,所述的步骤(3)采用Huffman编码方法进行压缩。专利技术人经过实际测试发现,压缩率主要受到病历内容的差异性影响比较大。由于应用系统为医生、护士等系统关键用户提供了非常全面的、完善的模板支持,因此在这些人的工作实践中,可达到85%以上的医生书写病历时采用系统预先定义的模板,90%以上的护士书写护理记录时使用系统预定义好的一些护理模板。并且大多数医生或护士在应用具体模板的时候,仅仅是在系统提供的模板基础上进行简单的修改。因为数字0~9的ASCII码的高四位都一样,是冗余的,因此每一个数字完全可以用低四位描述,即每个字节的八位编码可压缩为四位编码,压缩比理论上可趋近50%。步骤(3)的压缩算法中采用了一种动态限长变化的不等长编码方法,使最短码2位,而最长码不超过8位,达到了最佳压缩效果。压缩基本压缩原理是,将待压缩文件看作是字符流(字节流),将其中的冗余信息分成两类(1)同一字符的离散出现如abcda......这里,字符a出现了两次。2.字符串的重复出现如abcdabcd......或abcd...abcd......这里,字符串abcd出现了两次。值得说明的是,这里串的概念是LZW方法意义下的,即将字符流中每一字符均看作是一个串的起始字符。压缩时,首先对字符流中的字符串进行识别,将其中的重复串用压缩格式记载,然后再将处理后的数据用不等长编码进行代码变换及压缩。下面仅就其中的动态限长变化编码方法进行介绍。二、动态限长编码方法1.基本原理经重复串压缩后的数据中,重复串已大大减少,而同一字符的分布式冗余问题则比较突出。由于256个字符的使用概率一般不同,往往相差悬殊,若采用不等长编码,将高频字符用较短代码表示,低频字符用较长码表示,则提高了整体的压缩比。Haffman编码是最佳不等长编码,它根据文件中各字符的统计概率来分配代码长度。如设文件中不同字符数为n,第i个字符的概率为Pi,代码长度为li,则当概率满足P1≥P2≥...≥Pn时,Haffman编码的码长满足l1≤l2≤...≤ln,此时,代码平均长度的数学期望=∑ni=1Pi□li达到最小。在一般的数据压缩过程中,Haffman编码的算法实现为先统计出待压文件中各字符的出现概率,据此动态建立一棵Haffman树,并以二分树的序列形式存入压缩数据文件首部以用于还原过程。在压缩过程中,由Haffman树实现字符的ASCII码(等长码)与其压缩代码(Haffman不等长码)的转换。这种处理方法需对待压缩文件进行两遍扫描,且Haffman树须保存于压缩数据文件中而占用额外的存储空间。在LHARC的算法中,对Haffman编码的实现采用了新的方法。其基本原理是在压缩前动态建立一棵初始译码树,在压缩过程中不断调整译码树的结构,使各字符的压缩代码长度随字符出现的次数增加而逐步缩减。最短码的长度可达到2位,而最长码不超过8位(二进制),从而获得很高的压缩比。本专利技术的数据压缩算法是首先将结构化的病历信息进行预处理,提取相关性信息以利于在第二阶段大幅度压缩病历文本内容,第二阶段将相关性信息和病历信息编码,对得到的结果再使用Huffman或LHARC等方式的编码方法进行压缩处理。实践证明,通过本专利技术的数据压缩算法可以大大降低网络的开销和“肥胖”病历信息在网络上传输过程中出错的可能性。具体实施方式下面结合实施例对本专利技术作进一步说明,但本专利技术的保护范围并不限于此。一种电子病历的数据压缩算法,包括(1)预处理步骤将结构化的病历信息处理为包含有“0~9”十个数字符号,“A”、“V”、“B”、“W”四个英文大写字母和一个小数点“.”符号的文本字符,字符“A”表示定位有效,字符“V”表示定位无效,“B”表示定位有效时语句校验出错,“W”表示定位无效时语句校验出错;(2)编码步骤将步骤(1)的文本字符按下述原则编码字符 四位二制编码0 00001 00012 00103 00114 01005 01016 01107 01118 10009 1001. 1010A 1011V 1100B 1101W 1110(3)将步骤(2)得到的编码信息采用Huffman编码方法进行压缩。权利要求1.一种电子病历的数据压缩算法,其特征在于包括(1)预处理步骤将结构化的病历信息处理为包含有“0~9”十个数字符号,“A”、“V”两个英文大写字母和一个小数点“.”符号的文本字符,所述的字符“A”表示定位有效,字符“V”表示定位无效;(2)编码步骤将步骤(1)的文本字符按下述原则编码字符 四位二制编码0 00001 00012 00103 00114 01005 01016 01107 01118. 10009 1001. 1010A 1011V 1100(3)将步骤.(2)得到的编码信息采用动态限长变化的不等长编码方法进行数据压缩。2.如权利要求1所述的电子病历的数据压缩算法,其特征在于所述的步骤(1)还包括“B”和“W”两本文档来自技高网...

【技术保护点】
一种电子病历的数据压缩算法,其特征在于包括:(1)预处理步骤:将结构化的病历信息处理为包含有:“0~9”十个数字符号,“A”、“V”两个英文大写字母和一个小数点“.”符号的文本字符,所述的字符“A”表示定位有效,字符“V”表示定位无 效;(2)编码步骤:将步骤(1)的文本字符按下述原则编码:字符四位二制编码0000010001200103001140100501016 0110701118.100091001.1010A1011V1100(3)将步骤(2)得到的编码信息采用动态限长变化的不等长编码方法进行数据压缩。

【技术特征摘要】

【专利技术属性】
技术研发人员:汪滢
申请(专利权)人:杭州掌幄科技有限公司
类型:发明
国别省市:86[中国|杭州]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1