立项背景:为响应国家医保局DIP(按病种分值付费)支付方式改革,医院需对住院病例进行自动分组与分值测算,替代人工查表,提升医保结算准确率与效率。
核心功能:
1. 编码标准化:对诊断编码(ICD-10)和手术操作编码(ICD-9-CM3)进行自动补零、格式校验,统一为国临版与医保版2.0标准格式;
2. 编码对照映射:通过诊断对照库、手术对照库,将国临版编码自动映射为医保版2.0编码,支持23个手术操作字段批量对照;
3. DIP智能分组引擎:基于主诊断+主操作组合,实现+组合匹配、/或规则匹配、单码精准匹配、规则组匹配、编码范围匹配、s(n)/a(n)四级兜底等多层匹配策略,自动输出DIP病种ID;
4. 最优候选选择:当多个病种同时命中时,按匹配编码数量、是否包含主操作、操作位置优先级自动选优;
5. 分值计算:关联分值总表,自动计算每个病例的DIP病种分值,输出完整匹配结果表。
业务流程:原始住院病例数据 → 诊断/手术编码补零标准化 → 国临版转医保版对照 → DIP分组引擎多层匹配 → 最优病种选择 → 分值关联 → 输出结算结果。
整体架构:基于PostgreSQL构建纯SQL层分组引擎,采用"字典表+存储过程"架构。字典表层包含诊断对照库、手术对照库、分值总表、规则解析表(dip_rules_parsed);计算层通过PL/pgSQL存储过程get_new2024_dip实现核心分组逻辑,主查询以CTE流水线(raw_data→diag_mapped→op_padded→op_mapped→LATERAL函数调用→分值关联)完成全量批处理。
我的负责模块与成果:
1. 独立设计并实现DIP分组核心存储过程,支持+组合、/规则、单码、规则组、范围规则、s(n)/a(n)兜底共6层匹配策略,覆盖医院全部住院病例场景;
2. 编写编码补零函数(pad_diag_code、pad_op_code),解决原始数据编码格式不统一(位数不足、大小写、缺小数点)导致的匹配失败问题,匹配覆盖率提升至99%以上;
3. 实现23个手术操作字段的批量对照与数组化处理,支持多手术联合病例的组合匹配与最优选择;
4. 针对分组有争议的病种,建立硬编码手术目录机制(数百个手术编码),确保s(n)/a(n)兜底分类准确,后续已规划字典表化改造以支持DIP3.0升级;
5. 建立索引优化(诊断、手术、分值、规则键多列索引),全量万级病例批处理在秒级完成。
遇到的难点与解决方案:
1. 难点:原始手术编码格式混乱(如"1.2"应为"01.2000"),直接join对照库大量匹配失败。解决:编写补零函数统一标准化为2位整数+4位小数格式,对照前先做格式转换;
2. 难点:同一病例命中多个DIP候选时如何选最优。解决:设计三级排序规则(编码数量多→包含主操作→操作位置靠前),通过位置映射jsonb记录每个手术的原始顺序,实现精准选优;
3. 难点:部分病种无精确匹配,需兜底到s(n)/a(n)。解决:建立四级兜底机制(具体诊断→整数前缀→首字母→字母数字区间),并维护手术类编码硬编码列表区分手术/操作类型,确保兜底不丢病例。