数据挖掘与决策支持系统刘乃丰东南大学附属中大医院2013/4/222研究背景医院信息系统已广泛使用,如何利用HIS的数据帮助医院提供更好的服务?数据挖掘(Datamining)与数据库中的知识发现(KnowledgeDiscoveryinDatabases,KDD)监督医疗过程、保障病人安全(合理用药风险控制)评价临床科室与医师绩效(目标考核奖励聘任晋升)数据辅助医院管理决策(运营分析成本控制)2013/4/223研究现状•1995年,UsamaFayyad提出“数据挖掘”概念;•2002年,JosephL利用CART软件,挖掘糖尿病患者血糖控制最主要的影响因素;•2006年,IreneM.Mullins利用HealthMiner®软件挖掘疾病之间的关联;•2007年,JanRamon利用DT、FORF、NB、TAN贝叶斯四种挖掘方法对ICU患者的存活时间和危险状况的发展进行分析和预测国外2013/4/224研究现状•2003年,丁守銮等人利用ARIMA模型预测肾综合征出血热发病率;•2006年,夏磊利用MicrosoftSOLserver2000的Analysisservice构建数据仓库,可查询住院基本情况、费用构成、费用影响因素、诊疗质量;•2009年,罗洪强利用SAS软件决策树算法和网上的SVM测试软件的支持向量机算法挖掘费用情况,制定出适合该院的门诊费用标准。国内2013/4/225可被挖掘的相关主题门诊业务主题分析住院业务主题分析临床医师绩效管理门诊挂号分析、门诊疾病分析、门诊费用分析疾病诊断情况、疾病治疗情况、患者费用情况住院人员分析、住院诊断与治疗情况分析、住院费用分析2013/4/226门诊挂号表register数据源:医院及各科室每月挂号/退号人数挂号类别分析医保类别分析挂号人数趋势分析并预测挂号量分析内容时间序列数据挖掘方法:N阶移动平均、加权移动平均、最小二乘法、ARIMA模型、支持向量机等算法:门诊挂号分析演示2013/4/227数据源:门诊问诊表ord_seedoctrecord统计某类疾病(如恶性肿瘤)的发病率趋势分析并预测该种疾病发病率门诊疾病分析时间序列挖掘方法N阶移动平均、加权移动平均、最小二乘法、ARIMA模型、支持向量机等2013/4/228维度•医院•开立科室•开立医师•挂号级别•医保类别主题•总金额和平均金额•(挂号/检查/西药等)总金额/平均金额/占比数据源:门诊费用汇总表fee_base退费影响因素分析算法:多因素方差分析、分类树、关联规则等门诊费用分析患者2013/4/229住院主表ii_inmaininfo数据源:统计医院/各科室/各医保类别:住院人数、出院人数、无费退院人数及占比平均住院日分析1:分析住院患者构成:入院情况(危险、紧急、一般)病情评估病人来源(门诊、急诊、转科、转院)分析2:住院人员分析2013/4/2210维度医院科室主治医师主题•平均住院日•治疗效果:治愈/好转/恶化/死亡/其它•诊断符合情况门急诊与入院、入院与出院、术前与术后、临床与病理、放射与病理数据源:住院首页信息mrmbase住院诊断和治疗情况疾病的诊断符合情况分析2013/4/2211维度•医院•开立科室•执行科室•开立医师•医保类别主题总金额和平均金额(药品/检查/化验/手术/卫材/处方)总金额、平均金额和占比数据源:住院非药品明细表if_feeitemlist退费影响因素分析算法:多因素方差分析、分类树、关联规则等住院费用分析患者2013/4/2212住院医师绩效管理主要针对住院医师的医疗质量与效率指标得分智能计算指标权重指标相关性及难易程度分析指标值计算指标选择算法:主成分分析因子分析聚类分析2013/4/2213门诊业务主题查询住院业务主题查询住院医师绩效查询预期目标关键字:智能计算、图表表示、多维度、年/月基于HIS的数据挖掘与分析软件2013/4/2214硕士学位论文基于医院信息系统的数据挖掘与分析专业名称:生物医学工程研究生姓名:卢红霞导师姓名:刘乃丰图1.本研究建立的数据挖掘与分析体系结构图2013/4/2215研究过程•根据以上数据挖掘与分析体系结构图,本研究过程分成五个步骤•步骤一设计数据仓库。利用VISIO2010设计数据仓库的逻辑结构,并在SQLServer2008数据库引擎中完成该数据仓库的物理设计。•步骤二数据准备。绘制数据源到目标数据仓库的映射,利用SSIS将医院信息系统中的数据提取-转换-加载到数据仓库。•步骤三OLAP多维数据分析。利用SSAS在步骤一的数据仓库的基础上构建多维数据集,并利用SSAS对多维数据集进行多维数据分析。•步骤四数据挖掘。利用SSAS和其他方法设计多种模型进行数据挖掘。•步骤五知识输出。利用SSRS制作报表,并配置成可基于网络管理和访问。2013/4/2216图2-3.门诊诊断多维数据集的星型结构设计图2013/4/2217DimTimePKTimeKeyFullDateCalendarYearCalendarSemesterCalendarQuarterMonthNumberOfYearChineseMonthNameDayNumberOfWeekChineseDayNameOfWeekDayNumberOfYearDayNumberOfMonthWeekNumberOfYearNoonCodeNoonNameDimDepartPKDepartKeyU1DepartCodeAlternateKeyDepartNameDepartClassNameDepartTypeCodeDepartTypeNameDepartAddressDepartAddressClassCodeDepartAddressClassNameDimPatientPKPatientKeyU1PatientCodeAlternateKeyPatientNameGenderBirthdayAgeAgeRangeFiveAgeRangeTenDimDoctorPKDoctorKeyU1DoctorCodeAlternateKeyDoctorNameDoctorLevlCodeDoctorLevlNameDoctorStatusCodeDoctorStatusNameFK1DepartCodeFactDiagnosisClinic_codeFK1TimeKeyFK2DepartKeyFK3DoctorKeyFK4PatientKeyFK5Diag1DiseaseKeyFK6Diag2DiseaseKeyFK7Diag3DiseaseKeyDiagCode1DiagName1DiagCode2DiagName2DiagCode3DiagName3TREATMENTIntervalTimeDimDiseasePKDiseaseKeyDiseaseCodeDiseaseNameDiseaseMnemDiseaseClassCodeDiseaseClassNameDiseaseSubclassCodeDiseaseSubclassName表2-10.门诊挂号事实表FactRegister字段字段名称数据类型备注Clinic_code门诊流水号nvarchar(14)TimeKey挂号时间int引用DimTime(TimeKey)DepartKey挂号科室int引用DimDepart(DepartKey)DoctorKey看诊医师int引用DimDoctor(DoctorKey)PatientKey患者信息int引用DimPatient(PatientKey)ReglevlKey挂号级别int引用DimReglevl(ReglevlKey)PayKindKey结算类别int引用DimPayKind(PayKindKey)YNCancel退号标志tinyint“1”代表退号YNSee是否看诊tinyint“1”代表看诊YNBook是否预约tinyint“1”代表预约YNAuto是否是自助挂号tinyint“1”代表是自助挂号2013/4/2218图2-6.基于医院信息系统的门诊数据仓库关系图2013/4/2219DimDepartDepartKeyintDepartCodeAlternateKeynvarchar(4)DepartNamenvarchar...DepartClassCodenvarchar(5)DepartClassNamenvarchar...DepartTypeCodenvarchar(5)DepartTypeNamenvarchar...DepartAddressnvarchar...DepartAddressClassCodenvarchar(5)DepartAddressClassNa...nvarchar...列名数据类型DimDiseaseDiseaseKeyintDiseaseCodeAltern...nvarcha...DiseaseNamenvarcha...DiseaseMnemnvarcha...DiseaseClassCodenvarcha...DiseaseClassNamenvarcha...DiseaseSubclassCodenvarcha...DiseaseSubclassNa...nvarcha...列名数据类型DimDoctorDoctorKeyintDoctorC...nvarcha...DoctorN...nvarcha...DoctorL...tinyintDoctorL...nvarcha...DoctorSt...tinyintDoctorSt...nvarcha...DepartC...nvarcha...列名数据类型DimFeekindFeeKeyintFeeCodeAlternat...nvarcha...FeeNamenvarcha...FeeClassNamenvarcha...列名数据类型DimPatientPatientKeyintPatientCo...nvarcha...PatientNamenvarcha...Genderchar(2)BirthdaydatetimeAgeintAgeRange...nvarcha...AgeRange...nvarcha...列名数据类型DimPayKindPa...intPa...nvarcha...Pa...nvarcha...Pa...nvarcha...Pa...nvarcha...Pa...nvarcha...列名数据类型DimReglevlRegle...intRegle...nvarcha...Regle...nvarcha...Regle...nvarcha...列名数据类型DimTimeTimeKeyintFullDatedatetimeCalendarYearsmallintCalendarSemestertinyintCalendarQuartertinyintMonthNumberOfYearsmallintChineseMonthNamenvarchar(10)DayNumberOfWeektinyintChineseDayNameO...nvarchar(10)DayNumberOfYearsmallintDayNumberOfMonthtinyintWeekNumberOfYeartinyintNoonCodetinyintNoonNamenvarchar(10)列名数据类型FactDiagnosisClinic_codenvarchar(14)TimeKeyintDepartKeyintDoctorKeyintPatientKeyintDiag1DiseaseKeyintDiag2DiseaseKeyintDiag3DiseaseKeyintDiagCode1nvarchar(10)DiagName1nvarchar(1...DiagCode2nvarchar(10)DiagName2nvarchar(1