首页> 中国专利> 一种基于医保数据的临床路径分析方法

一种基于医保数据的临床路径分析方法

摘要

本发明公开了一种基于医保数据的临床路径分析方法,包括医保数据的清洗及医保数据的分析步骤,所述医保数据的清洗是剔除无效的住院数据及无效的处方明细数据,并通过以相同的病种编号及相同的医院等级编号进行聚类从而建立若干分析单元,所述医保数据的分析是指对所述分析单元中的医保分析项目进行经验范围分析,所述的经验范围分析采用分组经验范围分析或无分组经验范围分析,计算医保分析项目的样本最聚集分布范围,当最聚集分布范围的频率和大于预设的频率时,即获得医保分析项目的经验范围。本发明实现了对医保数据的清洗和分析,进而通过医保大数据进行临床路径分析,提高了临床路径分析的精确性和科学性。

著录项

  • 公开/公告号CN107610761A

    专利类型发明专利

  • 公开/公告日2018-01-19

    原文格式PDF

  • 申请/专利号CN201710914805.0

  • 申请日2017-09-30

  • 分类号G16H40/20(20180101);

  • 代理机构51223 成都华风专利事务所(普通合伙);

  • 代理人徐丰;张巨箭

  • 地址 611731 四川省成都市高新西区西源大道2006号

  • 入库时间 2023-06-19 04:23:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-23

    授权

    授权

  • 2018-02-13

    实质审查的生效 IPC(主分类):G16H40/20 申请日:20170930

    实质审查的生效

  • 2018-01-19

    公开

    公开

说明书

技术领域

本发明属于计算机数据分析领域及医疗业务领域,具体而言,涉及一种医疗保险数据(下文简称医保数据)的分析方法。

背景技术

随着医学的发展、人口老龄化和医疗需求的不断增加,迫切地需要在改进医疗质量和工作效率的同时,又能控制医疗成本、降低医疗费用。目前,临床路径(ClinicalPathway,CP)作为确保医疗质量、控制医疗成本、优化医疗服务流程的管理工具,在许多国家医院管理中得到了广泛的应用。

临床路径是指医疗健康机构的一组多学科专业人员(包括医师、临床医学专家、护士以及医院管理者等)共同制定的、针对某一特定的疾病或手术的、标准化的照顾计划。本质上临床路径是一个事先写好的标准化的工作流程,是由各学科的专业人员根据循证医学的原则将某疾病或手术的关键性治疗、检查和护理活动标准化,按照预计住院天数设计成表格,将治疗、检查和护理活动的顺序以及时间的安排尽可能地达到最优化,使大多数罹患此病或实施此手术的患者由入院到出院都能依此流程接受照顾。实施临床路径的目的是为了促进各科室协作配合,确保治疗和护理的连续性,使患者得到最佳的服务,减少医疗资源的浪费,缩短住院时间。但是随着科学技术的发展,临床路径只由专业人员根据多年的临床经验制定,科学性和全面性不够,精确度较低。

发明内容

本发明为了解决上述技术问题,提供了一种基于医保数据的临床路径分析方法,以解决现有的医院管理系统统计分析能力不强的问题。

为达到上述技术目的,本发明采用的技术方案是,一种基于医保数据的临床路径分析方法,包括对医保数据的清洗步骤、对医保数据的分析步骤;所述的医保数据包括住院病案首页表数据、处方明细表、病种信息表、医院信息表;所述的病种信息表存储病种的中文名及ICD-10编号数据;所述的医院信息表存储医院的相关信息;所述的住院病案首页表数据存储病人一次住院的总体数据;所述的处方明细表存储病人一次住院期间的所有处方明细数据;

所述医保数据的清洗步骤包括以下子步骤:

S1、剔除无效的住院病案首页表数据及无效的处方明细数据,保留有效的住院数据及有效的处方明细数据;

S2、利用MapReduce编程模型对所述有效的住院数据及有效的处方明细数据进行并行运算从而建立若干分析单元;每个所述的分析单元包括相同的病种编号及相同的医院等级编号对应的若干医保分析项目;医保分析项目包括住院天数、项目用量、住院费用、药类占比、检查类占比;每一个所述医保分析项目包括若干样本;

所述医保数据的分析步骤是对所述分析单元的每个所述医保分析项目进行经验范围分析,包括以下子步骤:

S3、判断所述医保分析项目的样本是否为整数且样本是否有重复,若是则进入S3-01步骤采用无分组经验范围分析样本,若否则进入S3-11步骤采用分组经验范围分析样本;

S3-01、消除所述分析单元中医保分析项目的样本极端值减小经验范围分析的偏差,依次包括以下子步骤:

S3-01-1、根据所述医保分析项目的样本数据设置输入变量,所述输入变量包括样本数量num、样本数组dataArray、经验阈值threshold;

S3-01-2、根据所述输入变量中所述样本数量num的不同数值范围确定输出变量,所述输出变量包括经验范围下限lowLimit、经验范围上限upLimit;

S3-02、对消除样本极端值后的所述医保分析项目采用基于频率直方图的中心扩展算法,计算样本最聚集分布范围,当最聚集分布范围的频率和大于预设的频率时,即获得医保分析项目的经验范围;所述的中心扩展算法采用基于JAVA编程语言的频率算法;

S3-11、消除所述分析单元中医保分析项目的样本极端值减小经验范围分析的偏差。

S3-12、根据所述样本数据设置输入变量,所述输入变量包括样本数量num、样本数组dataArray、经验阈值threshold、是否自定义组数标识flag、自定义组数defineNum;

S3-13、根据输入变量中样本数量num的不同数值范围确定输出变量,输出变量包括经验范围下限lowLimit、经验范围上限upLimit;

S3-14、据所述是否自定义组数标识flag是否有效确定样本组数classNum;自定义组数标识flag有效时,样本组数classNum=defineN,否则所述样本组数classNum=样本数量num/5+1;且当样本组数classNum经计算得到的值大于设定的值时,样本组数classNum等于设定值;经本步骤后得到的样本为第二样本;

S3-15、对所述第二样本采用基于频率直方图的中心扩展算法计算第二样本最聚集分布范围,当最聚集分布范围的频率和大于预设频率时,即获得医保分析项目的经验范围;所述的中心扩展算法采用基于JAVA编程语言实现的频率算法。

与现有技术相比,本发明的有益效果是:

(1)能提高数据清洗的效果,使清洗后的医院医保数据准确有效便于后续分析,防止将无效的医保数据纳入分析,提高了临床路径的生成效率和准确度。

(2)能对特定医保分析项目的样本集作出针对性的分析,使获得的分析图谱集中性强,能给医院提供某个医疗业务数据上的快速、针对性分析,使得临床路径分析更加精确更加专业。

附图说明

本发明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,在附图中:

图1为本发明所述的基于医保数据的临床路径数据分析方法工作流程图;

图2为本发明所述的基于医保数据的临床路径数据分析方法工作原理图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

本实施例采用的医保数据包括住院病案首页表数据、处方明细表、病种信息表、医院信息表。使用Sqoop工具,将医院医保数据迁移到Hadoop分布式集群平台用分布式文件系统HDFS存储医院医保数据。

住院病案首页表数据存储病人一次住院的总体数据,包括就诊编号、已使用费用、入院日期、入院方式、入院状态、出院日期、出院诊断、备注说明、出院状态、出院类别、医院编号、入院部门、出院诊断ICD码、医院组织的出院情况中文说明、出院备注信息、数据状态、性别、出生日期、年龄、医院等级。

处方明细表存储病人一次住院期间使用的所有处方明细数据,包括就诊编号、开单序号、项目编号、项目名称、项目类别、医院开单日期、医院实际单价、医院开单数量、医院总费用、退费标志、对应的退费项目序号、数据状态、剂型、项目规格、单位。

病种信息表存储病种信息数据,包括ICD-10病种编号、病种名中文名。

医院信息表存储医院的相关信息,包括医院编号、定点医疗机构的准确级别、业务类型代码、级别编号、定点类型代码、医疗机构分类、行政区划、医院名称、医院地址。

如图1及图2所示,一种基于医保数据的临床路径分析方法,完整地包括以下步骤:

首先完成对医保数据的清洗,包括以下步骤:

S1、剔除无效的住院病案首页表数据及无效的处方明细数据,保留有效的住院数据及有效的处方明细数据。

优选地,在本实施例中,S1包括采用以下子步骤进行:

S1-1、对住院病案首页表数据进行数据切片,每个数据切片间相互无关联。

S1-2、判断每个数据切片对应的住院数据的数据有效标志是否有效,若有效则进入S1-3步骤,若无效则舍弃转而处理下一条住院数据。

S1-3:判断每个数据切片对应的住院数据的入院日期是否有效,有效判断条件为入院日期不为空且满足标准日期规范,若有效则进入S1-4步骤,若无效则舍弃转而处理下一条住院数据。

S1-4:判断每个数据切片数据对应的住院数据的出院日期是否有效,有效判断条件为出院日期不为空且满足标准日期规范且晚于入院日期;有效进入S1-5步骤,若无效则舍弃转而处理下一条住院数据。

S1-5:确定每个数据切片数据对应的住院数据的病种编号,将病种编号与病种信息表进行比对,如果病种信息表中存在该病种编号,则保存该有效病种编号对应的住院数据作为有效的住院数据;

经过此步骤后,则完成了对住院病案首页表数据的筛选,保留了有效的住院数据。

优选地,在本实施例中,S1-5步骤还包括在病种编号未给出情况下根据出院诊断确定病种编号的步骤,具体包括:

出院诊断在标准格式下,根据正则式1提取病种中文名,正则式1为:"\d\|"+"([\u4e00-\u9fa5]|\(|\)|α|β|δ|γ|B|~|<|%|≧|\[|]|﹝|﹞|\.|、|,|[A-Za-z0-9]|'|(|)|/|/|-|-|+|\+|Ⅰ|Ⅱ|Ⅲ|Ⅳ|Ⅴ|Ⅶ|Ⅹ|Ⅻ|ⅩⅢ|【|】|\")+\|"+"[\u4e00-\u9fa5]*;*";。

正则式1对应筛选的数据样式为开头部分为数字|,中间部分可以为中文、(、)、α、β、δ、γ、B、~、<、%、≧、[、]、﹝、﹞、.、、、,、字母、'、(、)、/、/、-、-、+、+、Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅶ、Ⅹ、Ⅻ、ⅩⅢ、【、】和"的任意组合,结尾部分为|中文,标准格式为:序号|诊断说明|治疗情况,例如:1|肉毒中毒|治愈;

出院诊断只含病种中文名情况下,根据正则式2提取病种中文名,正则式2为:"([\u4e00-\u9fa5]|\(|\)|α|β|δ|γ|B|~|<|%|≧|\[|]|﹝|﹞|\.|、|,|[A-Za-z0-9]|'|(|)|/|/|-|-|+|\+|Ⅰ|Ⅱ|Ⅲ|Ⅳ|Ⅴ|Ⅶ|Ⅹ|Ⅻ|ⅩⅢ|【|】|\")+";。

正则式2对应筛选的数据样式为:中文、(、)、α、β、δ、γ、B、~、<、%、≧、[、]、﹝、﹞、.、、、,、字母、'、(、)、/、/、-、-、+、+、Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅶ、Ⅹ、Ⅻ、ⅩⅢ、【、】和"的任意组合。其为只含病种中文名格式,例如:急性阑尾炎

出院诊断录入不规范情况下,根据正则式3提取病种中文名,正则式3为:"\d\|"+"([\u4e00-\u9fa5]|\(|\)|α|β|δ|γ|B|~|<|%|≧|\[|]|﹝|﹞|\.|、|,|[A-Za-z0-9]|'|(|)|/|/|-|-|+|\+|Ⅰ|Ⅱ|Ⅲ|Ⅳ|Ⅴ|Ⅶ|Ⅹ|Ⅻ|ⅩⅢ|【|】|\")+\|"+"[\u4e00-\u9fa5]*(\|)*\d\|"+"([A-Za-z0-9]|\.|\+|\*|/)*;*";。这样引入正则式3后,可以根据部分数据提取出病种中文名。

S1-6、对处方明细数据进行数据切片,每个数据切片数据间相互无关联。

S1-7、判断每个数据切片对应的处方明细数据的数据有效标志是否有效,若有效且项目开单数量不为0则进入S1-8步骤,若为无效数据则舍弃转而处理下一条处方明细数据。

S1-8:判断该条有效的处方明细数据的就诊编号是否在S1-5步骤后保留的住院病案首页表数据中存在,若存在,则保存该就诊编号对应的处方明细数据为有效的处方明细数据;否则,该就诊编号对应的处方明细数据为无效数据,转而处理下一条处方数据。

经过S1-8步后则筛选出了有效的处方明细数据。

S2、利用MapReduce编程模型对所述有效的住院数据及有效的处方明细数据进行并行运算从而建立若干分析单元;每个所述的分析单元包括相同的病种编号及相同的医院等级编号对应的若干医保分析项目;医保分析项目包括住院天数、项目用量、住院费用、药类占比、检查类占比;每一个所述医保分析项目包括若干样本。

优选地,在本实施例中,S2包括采用以下子步骤进行:

S2-1:将有效病种编号作为map函数输出的Key值,将有效的住院数据拼接成字符串,作为map函数输出的Value值。

S2-2:将相同的有效病种编号的数据拼接成字符串作为reduce函数输出的Value值,将相同的有效病种编号作为reduce函数输出的Key值;得到以病种编号为分类基准的数据集A。

S2-3:将就诊编号作为map函数输出的Key值,将有效的处方明细数据拼接成字符串,作为map函数输出的Value值。

S2-4:通过就诊编号查询数据集A,获取该就诊编号对应的有效的住院数据,将该有效的住院数据和从属于该就诊编号的有效的处方明细数据组合成就诊单元,每一个就诊单元包括一条有效的住院数据和其对应的多条有效的处方明细数据。

作为本实施例的优选,本子步骤S2-4包括如下子步骤:

S2-4-1:根据退费标志、退费序号、项目数量对处方明细数据进行分类形成正常项目集合B1、退费项目集合B2、异常项目集合B3,其中:

正常项目集合B1:退费标志无效、退费序号等于零、项目数量大于零;

退费项目集合B2:退费标志有效、退费序号大于零、项目数量小于零;

异常项目集合B3:退费标志无效、退费序号等于零、项目数量小于零。

S2-4-2:遍历正常项目集合B1的处方明细数据,判断正常项目集合B1中的每条数据的项目序号是否在退费项目集合B2的退费序号中存在,如果存在,计算该条项目数量和B2中该退费序号对应的项目数量之和,如果计算结果等于零,从B1中删除该条数据,如果计算结果大于零,更新B1中该条数据的项目数量,赋值为计算结果。经过这步骤后的正常项目集合B1就是就诊单元中的有效处方明细数据。

S2-5遍历就诊单元的有效处方明细数据,剔除开单日期晚于出院日期或者开单日期早于入院日期的就诊单元,从而得到有效就诊单元。

S2-6:根据有效就诊单元中住院病案首页表数据的医院编号,查询医院信息表确定该就诊单元的医院等级编号,根据就诊单元中住院病案首页表数据的就诊编号,查询数据集A,确定该就诊单元的病种编号。

S2-7:将所有就诊单元按照相同的医院等级编号以及相同的病种编号为分类基准进行聚类进而得到分析单元,每个分析单元包括若干从属于相同的病种编号及相同的医院等级编号的就诊单元。就诊单元包括所有的就医数据。每个分析单元包括同一病种编号及同一医院等级编号下的若干医保分析项目,医保分析项目又包括住院天数、项目用量、住院费用、药类占比、检查类占比等其他项目。每一个医保分析项目又包括若干样本,这些样本供后面进行数据分析。例如分析单元A包括医院等级编号为1110001、病种编号为C00-D48的所有住院数据和处方明细数据,这些住院数据和处方明细数据包括住院天数、住院项目、住院费用等医保分析项目,住院天数这一种医保分析项目下含有多个患者的住院天数样本,作为本实施例的优选,子步骤S2-7是通过以下子步骤实现的:

S2-7-1:将病种编号和医院等级编号拼接成字符串作为map函数输出的Key值,将就诊单元作为reduce函数输出的Value值,将reduce函数输出的数据作为FA文件集。

S2-7-2:将FA文件集作为map函数输入,将相同病种编号和医院等级编号的就诊单元拼接成的字符串作为reduce函数输出的Value值,将相同病种编号及相同的医院等级编号拼接成的字符串作为reduce函数输出的Key值;得到以病种编号及医院等级编号为分类基准的若干分析单元。这样,将原本分开在不同数据集里面的住院病案首页表数据、处方明细数据、病种信息表及医院信息表的数据都映射到一个分析单元中,便于后续步骤的统一分析。

S3、判断医保分析项目的样本是否为整数且样本是否有重复,若是则进入S3-01步骤采用无分组经验范围分析,若否则进入S3-11步骤采用分组经验范围分析。本步骤是对每一个医保分析项目进行经验范围分析。这样,比如医保分析项目是住院天数时,样本中的数据都为整数且有重复住院天数情况存在,而当医保分析项目是住院费用时,样本中的数据绝大多数都会出现小数,因而本步骤可以实现对不同医保分析项目的不同分析,以达到最优的分析结果。

S3-01、消除医保分析项目的样本极端值,减小经验范围分析的偏差,依次包括以下子步骤:

S3-01-1、根据医保分析项目的样本数据设置输入变量,输入变量包括样本数量num、样本数组dataArray、经验阈值threshold。

S3-01-2、根据输入变量中样本数量num的不同数值范围确定输出变量,输出变量包括经验范围下限lowLimit、经验范围上限upLimit。这样,便于根据样本数量num,快速确定输出变量,同时在样本数量num是大数量时,消除极端值对样本数据整体分析造成偏差。

作为本实施例的优选,S3-01-2子步骤中,当样本数量num在A范围时,本例中,A范围是小于等于3的范围,经验范围下限lowLimit=样本数组dataArray的最小值,经验范围上限upLimit=样本数组dataArray的最大值。

当样本数量num在B范围时,本例中,B范围是小于等于10的范围,对样本数组dataArray升序排序,确定局部变量,局部变量包括中心轴变量axis、样本数组dataArray、平均值avg、dataArray中位数median;中心轴变量axis=(avg+median)/2;经验范围下限lowLimit=中心轴变量axis*经验阈值threshold,经验范围上限upLimit=中心轴变量axis*(2–经验阈值threshold)。

当样本数量num在C范围时,C范围是小于等于20的范围,对样本数组dataArray升序排序,去掉样本数组dataArray的最大值和最小值得到样本数组dataArray,样本数量num减少2个,转入基于频率直方图的中心扩展算法。

当样本数量num在D范围时,D范围是大于20的范围,对样本数组dataArray升序排序,确定局部变量Ⅱ,局部变量包括不接受比例denyProb,移除数量removeNum,不接受比例denyProb根据样本数量num的不同数值段而不同。具体地:如果样本数量num<=100,则不接受比例denyProb=0.05,如果样本数量num大于100且<=1000,则不接受比例denyProb=0.03,如果样本数量num大于1000,则不接受比例denyProb=0.01。移除数量removeNum=样本数量num*不接受比例denyProb,移除数量removeNum向下取整数,去除样本数组dataArray中最大的前移除数量removeNum个,去除样本数组dataArray中数值最小的前移除数量removeNum个,进而得到一个新的样本数组dataArray,此时,样本数量num减小2*移除数量removeNum个。

转入基于频率直方图的中心扩展算法。

S3-02、对消除样本极端值后的医保分析项目采用基于频率直方图的中心扩展算法,计算样本最聚集分布范围,当最聚集分布范围的频率和大于预设的频率时,即获得医保分析项目的经验范围;中心扩展算法采用基于JAVA编程语言实现的频率算法;医保分析项目包括住院天数、项目用量、住院费用、药类占比、检查类占比等。

优选地,采用基于JAVA编程语言的频率算法是通过以下子步骤实现的:

S3-02-1、计算样本最大值maxData、样本最小值minData,频率直方图的横坐标范围在样本最小值minData与样本最大值maxData之间,纵坐标范围从0.0到1.0,初始化频率直方图classAnalysis,频率直方图classAnalysis采用哈希表存储,key为样本用直方图的横坐标表示,value为该样本频率和用直方图纵坐标表示,设置从样本最小值minData到样本最大值maxData的整数样本key对应的样本频率和value值为0.0,累加频率accProb=样本数量num的倒数。

S3-02-2、遍历样本数组dataArray,将样本对应频率直方图classAnalysis的对应key的频率和value值累加accProb。

S3-02-3、将频率和sum初始为0,将频率直方图classAnalysis中最大的频率和赋值给频率和sum,对应样本赋值给起始扩展位置start,扩展标记classBit(采用位图储存,记录已扩展的横坐标)标记起始扩展位置start,向左扩展位置left=起始扩展位置start,向右扩展位置right=起始扩展位置start,如果向左扩展位置left大于样本最小值minData,则向左扩展位置left减1,如果向右扩展位置right小于样本最大值maxData,向右扩展位置right加1。

S3-02-4、如果频率和sum小于经验阈值threshold,通过扩展标记classBit判断向左扩展位置left和向右扩展位置right是否已标注,根据向左扩展位置left及向右扩展位置right标记情况确定向左扩展还是向右扩展,或者停止扩展;如果频率和sum大于或等于经验阈值threshold,进而判断向左扩展位置left是否被标记,如果没被标记向左扩展位置left加1,判断向右扩展位置right是否被标记,如果没被标记则向右扩展位置right减1。

在本S3-02-4步骤中,通过扩展标记classBit判断向左扩展位置left及向右扩展位置right标记是否被标注,根据向左扩展位置left及向右扩展位置right标记情况确定向左扩展还是向右扩展,或者停止扩展,具体分为如下四种情况,四种情况对应不同的处理方式:

情况一:left和right都没被标记,即没被访问过。

对应的处理方式:如果频率直方图classAnalysis中向左扩展位置left的频率和大于向右扩展位置right的频率和,则频率和sum加上向左扩展位置left的频率和,扩展标记classBit标记向左扩展位置left,如果向左扩展位置left大于样本最小值minData,向左扩展位置left减1;如果频率直方图classAnalysis中向左扩展位置left位置的频率和小于向右扩展位置right位置的频率和,频率和sum加上向右扩展位置right位置的频率和,扩展标记classBit标记向右扩展位置right,如果向右扩展位置right小于样本最大值maxData,向右扩展位置right加1;如果频率直方图classAnalysis中向左扩展位置left的频率和等于向右扩展位置right位置的频率和,扩展待扩展平均频率和大的方向,待扩展平均频率和定义为该方向还能扩展的概率和除以还能移动的步数,以向左方向为例,待扩展步数leftStep=向左扩展位置left-样本最小值minData+1,加1避免除数为0,待扩展概率和leftProb等于频率直方图classAnalysis从样本最小值minData到向左扩展位置left的频率和,待扩展平均频率和avgProbSum=待扩展概率和leftProb/待扩展步数leftStep,比如向左方向的待扩展平均频率和avgProbSum大,则sum加上向左扩展位置left的频率和,扩展标记classBit标记向左扩展位置left,如果向左扩展位置left大于样本最小值minData,向左扩展位置left减1,如果向左和向右的待扩展平均频率和avgProbSum相等,则任选一方向扩展。

情况二:向左扩展位置left被标记和向右扩展位置right没被标记。频率和sum加上向右扩展位置right的频率和,扩展标记classBit标记向右扩展位置right,如果向右扩展位置right小于样本最大值maxData,向右扩展位置right加1。

情况三:向左扩展位置left没被标记和向右扩展位置right被标记,频率和sum加上向左扩展位置left位置的频率和,扩展标记classBit标记向左扩展位置left,如果向左扩展位置left大于样本最小值minData,向左扩展位置left减1。

情况四:向左扩展位置left被标记和向右扩展位置right被标记,则无法再扩展。

其中,向左扩展位置left表示频率直方图横坐标的最左端为样本数据的下限,向右扩展位置right表示频率直方图横坐标的最右端为样本数据的上限。

若采取分组经验算法,则包括以下步骤:

S3-11、消除医保分析项目的样本极端值,减小经验范围分析的偏差。

S3-12、根据医保分析项目的样本数据设置输入变量,输入变量包括样本数量num、样本数组dataArray、经验阈值threshold、是否自定义组数标识flag、自定义组数defineNum。

S3-13、根据输入变量中样本数量num的不同数值范围确定输出变量,输出变量包括经验范围下限lowLimit、经验范围上限upLimit。这样,便于根据样本数量num,快速确定输出变量,同时在样本数量num是大数量时,消除极端值对样本数据整体分析造成偏差,作为优选:

当样本数量num在E范围时,本实施例中,E小于等于3,经验范围下限lowLimit=样本数组dataArray的最小值,经验范围上限upLimit=样本数组dataArray的最大值。

当样本数量num在F范围时,本实施例中,F小于等于10,对样本数组dataArray升序排序,确定局部变量,局部变量包括中心轴变量axis、样本数组dataArray平均值avg、dataArray中位数median;中心轴变量axis=(avg+median)/2;经验范围下限lowLimit=中心轴变量axis*经验阈值threshold,经验范围上限upLimit=中心轴变量axis*(2–经验阈值threshold)。

当样本数量num在G范围时,本实施例中,G小于等于20,对样本数组dataArray升序排序,去掉样本数组dataArray的最大值和最小值得到样本数组dataArray,样本数量num减少2个,转入基于频率直方图的中心扩展算法。。

当样本数量num在H范围时,本实施例中,H大于20,对dataArray升序排序,确定局部变量,局部变量包括不接受比例denyProb,移除数量removeNum,不接受比例denyProb根据样本数量num在大于20的范围内的不同数值段而不同,具体地:如果样本数量num<=100,则不接受比例denyProb=0.05,如果样本数量num大于100且<=1000,则不接受比例denyProb=0.03,如果样本数量num大于1000,则不接受比例denyProb=0.01。移除数量removeNum=样本数量num*不接受比例denyProb,移除数量removeNum向下取整数,去除样本数组dataArray中样本值最大的前移除数量removeNum个,去除样本数组dataArray中样本值最小的前移除数量removeNum个,进而得到一个新的样本数组dataArray。这样去除了样本的极端值,样本数量num减小2*移除数量removeNum个。

S3-14、据是否自定义组数标识flag是否有效确定样本组数classNum,自定义组数标识flag有效时,样本组数classNum=自定义组数defineN,否则样本组数classNum=num/5+1,且当样本组数classNum经计算得到的值大于设定的值时,设定值为25,样本组数classNum为25;经本步骤后获得的样本为第二样本。

S3-15、对第二样本采用基于频率直方图的中心扩展算法,计算第二样本最聚集分布范围,当最聚集分布范围的频率和大于预设频率时,即求得医保分析项目的经验范围;中心扩展算法采用基于JAVA编程语言实现的频率算法;所有医保分析项目包括住院天数、住院项目用量、住院费用、药类占比、检查类占比等。

作为优选,采用基于JAVA编程语言的频率算法是通过以下子步骤实现的:

S3-15-1、计算第二样本最大值maxData,第二样本最小值minData,频率直方图的横坐标范围从1到组数classNum,纵坐标范围从0.0到1.0。初始化频率直方图classAnalysis(采用哈希表存储,key为组号,直方图的横坐标,value为该组频率和,直方图纵坐标),设置从1到组数classNum的整数组号key值对应的该组频率和value值为0.0。初始化样本分组数据classSet(采用哈希表存储,key为组号,value为该组样本数据集合),为从1到组数classNum的整数组号key值对应的该组样本集value添加空集合,样本极差range=第二样本最大值maxData-第二样本最小值minData。组间距classInterval=样本极差range/(组数classNum-1)。偏移量offset=组间距classInterval-样本极差range/组数classNum)*0.7。累加频率accProb=样本数量num的倒数。

S3-15-2、遍历样本数组dataArray的样本数据,计算每个样本对应的组号classNo=(样本-第二样本最小值minData+偏移量offset)/组间距classInterval,将频率直方图classAnalysis中组号classNo(key)对应的频率和(value)累加频率accProb,在样本分组数据classSet中组号classNo对应的集合添加样本。

S3-15-3、频率和sum初始为0,频率和sum=频率直方图classAnalysis中最大的频率和,对应组号赋值classNo给start。扩展标记classBit(采用位图储存,记录已扩展的组号),标记start,向左扩展位置left=start,向右扩展位置right=start。如果向左扩展位置left大于1,则向左扩展位置left减1,如果向右扩展位置right小于组数classNum,向右扩展位置right加1。

S3-15-4、如果频率和sum小于经验阈值threshold,通过扩展标记classBit判断向左扩展位置left和向右扩展位置right是否已标注,根据向左扩展位置left及向右扩展位置right标记情况确定向左扩展还是向右扩展,或者停止扩展;如果频率和sum大于或等于经验阈值threshold,进而判断向左扩展位置left是否被标记,如果没被标记向左扩展位置left加1,同时判断向右扩展位置right是否被标记,如果没被标记则向右扩展位置right减1。

在本S3-15-4步骤中,通过扩展标记classBit判断向左扩展位置left及向右扩展位置right标记是否被标注,根据向左扩展位置left及向右扩展位置right标记情况确定向左扩展还是向右扩展,或者停止扩展,具体分为如下四种情况,四种情况对应不同的处理方式:

情况一:left和right都没被标记,即没被访问过。

对应的处理方式:如果频率直方图classAnalysis中向左扩展位置left的频率和大于向右扩展位置right的频率和,则频率和sum加上向左扩展位置left的频率和,扩展标记classBit标记向左扩展位置left,如果向左扩展位置left大于1,向左扩展位置left减1;如果频率直方图classAnalysis中向左扩展位置left位置的频率和小于向右扩展位置right位置的频率和,频率和sum加上向右扩展位置right位置的频率和,扩展标记classBit标记向右扩展位置right,如果向右扩展位置right小于组数classnum,向右扩展位置right加1;如果频率直方图classAnalysis中向左扩展位置left的频率和等于向右扩展位置right位置的频率和,扩展待扩展平均频率和大的方向,待扩展平均频率和定义为该方向还能扩展的概率和除以还能移动的步数,以向左方向为例,待扩展步数leftStep=向左扩展位置left,待扩展概率和leftProb等于频率直方图classAnalysis从1到向左扩展位置left的频率和,待扩展平均频率和avgProbSum=待扩展概率和leftProb/待扩展步数leftStep,比如向左方向的待扩展平均频率和avgProbSum大,则sum加上向左扩展位置left的频率和,扩展标记classBit标记向左扩展位置left,如果向左扩展位置left大于1,向左扩展位置left减1,如果向左和向右的待扩展平均频率和avgProbSum相等,则任选一方向扩展。

情况二:向左扩展位置left被标记和向右扩展位置right没被标记。频率和sum加上向右扩展位置right的频率和,扩展标记classBit标记向右扩展位置right,如果向右扩展位置right小于组数classNum,向右扩展位置right加1。

情况三:向左扩展位置left没被标记和向右扩展位置right被标记,频率和sum加上向左扩展位置left位置的频率和,扩展标记classBit标记向左扩展位置left,如果向左扩展位置left大于1,向左扩展位置left减1。

情况四:向左扩展位置left被标记和向右扩展位置right被标记,则无法再扩展。

其中,向左扩展位置left表示频率直方图横坐标的最左端为样本数据的下限组号,向右扩展位置right表示频率直方图横坐标的最右端为样本数据的上限组号,根据下限组号取出classSet中对应样本数据集,lowLimit为取出样本集最小的样本。根据上限组号取出classSet中对应样本数据集,upLimit为取出样本集最大的样本。算法结束,返回样本数据上下限。

本实施例叙述的较为具体和详细,也给出了实施例的一些优选措施,但是,该实施例和优选措施并不能作为对本发明的限制,本领域的技术人员看到该方案时,做出的其他变形和等同手段的替换,均应在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号