[发明专利]一种用于治未病的医疗数据挖掘方法在审
申请号: | 201711307752.2 | 申请日: | 2017-12-11 |
公开(公告)号: | CN107945879A | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 张吕峥;高春蓉;方宝林;余小益;朱旭东 | 申请(专利权)人: | 创业软件股份有限公司 |
主分类号: | G16H50/70 | 分类号: | G16H50/70 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙)33240 | 代理人: | 朱月芬 |
地址: | 310013 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 治未病 医疗 数据 挖掘 方法 | ||
1.一种用于治未病的医疗数据挖掘方法,其特征在于具体包括如下步骤:
步骤1.使用插值法获得时间序列均匀一致的体征数据表,具体的实现过程如下:
参数变量定义:
orig:原始数据表;c_orig:时间序列体征数据表;
I:人员编号;Inter:时间间隔常数;
or=orig[i]:第i号人员的原始数据;cr=c_orig[i]:第i号人员的时间序列体征数据;
or_p:当前人员在原始数据表中的第几次体检数据;
cr_p:当前人员在时间序列体征数据表中的第几个体征数据;
c_time:当前人员在时间序列体征数据表中的第cr_p个体征数据对应的时间;
or.record[or_p].value:当前人员在原始数据表中的第or_p次体检数据;
cr.value[cr_p]:当前人员在时间序列体征数据表中的第cr_p个体征数据;
or.record[or_p].time:当前人员在原始数据表中的第or_p次的体检时间;
next_ov、base:临时变量;p、q:常量,其中p为长期均线周期数,q为短期均线周期数,且p>q;
cr.length:当前人员在时间序列体征数据表中的体征数据个数;
or.length:当前人员在原始数据表中的体检个数;
or.ill_time:当前人员在原始数据表中的发病时间;
arv_p:中间变量,用于记录时间序列体征数据表中第cr_p-p+1个到第cr_p个体征数据的均值;
arv_q:中间变量,用于记录时间序列体征数据表中第cr_p-p+1个到第cr_p个体征数据的均值;
arv_p’:中间变量,用于记录时间序列体征数据表中第cr_p-p个到第cr_p-1个体征数据的均值;
arv_q’:中间变量,用于记录时间序列体征数据表中第cr_p-p个到第cr_p-1个体征数据的均值;
表1:疾病g对应的体征指标A的原始数据表orig
其中id字段为被跟踪人员的编号,发病时间为该人员在发现患病后估算得到的初始发病时间,length字段表示该人员总共测量体征指标A的次数;每个record[]字段都记录一次测量体征指标A的结果,每个record有测量时间time和测量得到的值value两个域;其中time表示从格林威治时间1970年01月01日00时00分00秒起至测量采样时为止的总秒数;
步骤1-1.创建时间序列体征数据表c_orig,表格形式参看表2;初始化人员编号i=0;inter赋值为时间间隔常数;
表2.时间序列体征数据表c_orig
步骤1-2.获得第i号人员的原始数据or=orig[i]和时间序列体征数据cr=c_orig[i];并初始化or_p=0、cr_p=0;
步骤1-3.将or.record[or_p].value、or.record[or_p].time分别赋值到cr.value[cr_p]和c_time;
步骤1-4.针对第or_p+1次体检,将or_p+1赋值给or_p,即or_p=or_p+1;如果or_p大于等于or.length,则跳转到步骤1-10;否则将or.record[or_p].value赋值给next_ov;
步骤1-5.计算时间序列体征数据表中的第cr_p+1个体征数据对应的时间c_time+inter,并将时间c_time+inter赋值到c_time,即c_time=c_time+inter,如果赋值后的c_time大于等于or.record[or_p].time,则跳转到步骤1-8;
步骤1-6.计算cr.value[cr_p+1],具体的:
cr.value[cr_p+1]=inter*(next_ov-cr.value[cr_p])/(or.record[or_p].time-c_time);
cr_p=cr_p+1;
步骤1-7.跳转到步骤1-5;
步骤1-8.如果c_time等于or.record[or_p].time,则将next_ov赋值给cr.value[cr_p+1];
步骤1-9.跳转到步骤1-4;
步骤1-10.将cr_p赋值给cr.length,然后针对下一个人员,即i=i+1;若i小于等于n,n为原始数据表中人员个数,则跳转到步骤1-2;否则结束;
步骤2.对基础体征进行处理
步骤2-1.初始化人员编号,即i=0;
步骤2-2.获得第i号人员的原始数据or=orig[i]和时间序列体征数据cr=c_orig[i];并初始化or_p=0、cr_p=0;
步骤2-3.初始化base=0;
步骤2-4.如果or.ill_time>0且or.record[or_p].time>or.ill_time,则直接跳转到步骤2-11;
步骤2-5.将base+or.record[i].value赋值给base,同时or_p=or_p+1;
步骤2-6.如果or_p<or.length,则跳转到步骤2-4;
步骤2-7.如果base不等于0,则base=base/or_p;
步骤2-8.初始化cr_p=0;
步骤2-9.将cr.value[cr_p]-base赋值给cr.value[cr_p];
步骤2-10.对cr_p累加,即cr_p=cr_p+1;再对cr_p进行判断,如果cr_p<cr.length,则跳转到步骤2-9;
步骤2-11.对i进行累加,即i=i+1;再对i进行判断,如果i<n,则跳转到步骤2-2;
步骤3.任取时间序列体征数据表中的一行,即某个人员的时间序列体征数据cr,并对cr进行预警判断,具体如下:
步骤3-1.初始化cr_p=p+1;
步骤3-2.计算
arv_p=(cr.value[cr_p-p+1]+cr.value[cr_p-p+2]+...+cr.value[cr_p])/p;
步骤3-3.计算
arv_q=(cr.value[cr_p-q+1]+cr.value[cr_p-q+2]+...+cr.value[cr_p])/q
步骤3-4.计算
arv_p’=(cr.value[cr_p-p]+cr.value[cr_p-p+1]+...+cr.value[cr_p-1])/p
步骤3-5.计算
arv_q’=(cr.value[cr_p-q]+cr.value[cr_p-q+1]+...+cr.value[cr_p-1])/q
步骤3-6.若arv_q>arv_q’且arv_p>arv_p’且arv_q>arv_p且
cr.value[cr_p]>arv_q,则对该人员进行预警,并结束;
步骤3-7.对cr_p进行累加,即cr_p=cr_p+1,然后对cr_p进行判断,如果cr_p<cr.length,则跳转到步骤3-2,否则结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创业软件股份有限公司,未经创业软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711307752.2/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置