3. 医疗支付数据治理与特征工程

医疗支付风控的效果,往往不取决于模型有多复杂,而取决于数据底座是否干净、模型是否贴合业务、特征是否真正刻画了风险。本章围绕“数据源接入—数据模型—质量校验—特征体系”这条主线展开,重点讲清楚每一步实际要做什么、关键参数如何设定、结果如何判断。

一、数据源接入:先分清“谁在什么时点产生什么数据”

医疗支付的数据源大致可分为四类:参保与身份类(参保状态、险种、人员类别)、诊疗过程类(门诊/住院就诊记录、诊断、医嘱、手术、检查检验)、费用结算类(费用明细、结算清单、医保结算单、基金支付明细)、监管与外部类(智能监管规则库、药品/耗材目录、医师执业信息、第三方审计结果)。接入时不能只做“表对表”的搬运,而要明确每条数据的业务主键、时间戳、数据归属机构、更新频率。

以医保结算数据为例,接入的关键字段至少包括:结算单号(唯一主键)、就诊ID、参保人ID(脱敏后)、定点机构编码、就诊类型(门诊/住院/门特)、入院与出院日期、主要诊断ICD编码、手术操作编码、医疗总费用、医保基金支付、个人自付、结算时间。接入方式上,批量场景常用T+1离线抽取,实时风控场景则需要通过消息队列或接口对接获取结算与就诊事件。接入后必须做幂等处理,避免同一结算单重复入账导致金额虚增。

二、诊疗与结算数据模型:把“一次就诊”作为分析单元

风控分析的最小单元通常不是单条费用明细,而是一次就诊(一次住院或一次门诊结算)。因此数据模型建议采用“就诊事实表 + 费用明细表 + 诊断/手术维表”的星型结构:就诊事实表一行对应一次就诊,记录机构、参保人、诊断、总费用、基金支付、住院天数等;费用明细表一行对应一条收费项目,记录项目编码、名称、单价、数量、金额、自付比例;诊断与手术表则记录编码、名称、是否主要诊断。这样既能按就诊聚合做异常检测,也能下钻到明细定位具体违规项目。

建模时要注意两个易错点:一是时间口径统一,入院日期、出院日期、结算日期、费用发生日期必须区分清楚,否则住院天数、分解住院等特征会算错;二是金额口径统一,医疗总费用、医保范围内费用、基金支付、个人自付之间要能对账,建议在模型中保留“费用平衡校验”字段,即总费用 = 基金支付 + 个人自付 + 其他支付,差额超过阈值即标记异常。

医疗支付数据治理与特征工程链路 数据源接入 • 参保身份类 • 诊疗过程类 • 费用结算类 • 监管外部类 主键/时间戳/幂等 诊疗与结算数据模型 • 就诊事实表(1行/次) • 费用明细表 • 诊断/手术维表 时间口径·金额平衡 数据质量校验 • 完整性/唯一性 • 一致性/及时性 • 值域与逻辑校验 阈值告警·隔离区 支付风控特征体系 • 主体特征 • 行为特征 • 费用特征 • 关系特征 时序·聚合·交叉 支付风控特征体系设计示例(以住院结算为例) 主体特征 参保人年龄/险种 既往就诊频次 机构等级/类型 医师执业年限 参保状态连续性 示例:同一参保人 30天内住院≥3次 行为特征 住院天数分布 入院-出院时间间隔 同一诊断重复入院 夜间/节假日就诊占比 转科/转院频次 示例:出院后7天内 同院同诊断再入院 费用特征 次均费用/日均费用 费用结构占比 药品/耗材占比 自付比例异常 费用偏离同病种均值 示例:费用超同病种 P95 且耗材占比>60% 关系特征 参保人-机构关联度 医师-诊断组合频次 药品-诊断匹配度 同机构同项目聚集 团伙就诊网络密度 示例:同一医师+同一 诊断组合异常高频

三、数据质量校验:把“脏数据”挡在特征计算之前

质量校验建议按六个维度落地:完整性(关键字段空值率)、唯一性(结算单号是否重复)、一致性(诊断编码与手术编码是否匹配、金额是否平衡)、及时性(数据到达时间是否超过约定延迟)、值域合法性(ICD编码是否在目录内、性别与诊断是否矛盾)、逻辑合理性(出院日期早于入院日期、费用为负)。

实操中可设置分级阈值:例如关键字段空值率超过1%触发告警,结算单号重复率超过0.1%进入隔离区,金额平衡差额绝对值大于1元标记为待核查。校验不通过的数据不应直接进入特征计算,而应写入隔离表并附带失败原因,由数据运营人员回溯上游修正。这一步看似繁琐,却是避免“垃圾进、垃圾出”的关键闸门。

四、支付风控特征体系设计:从业务风险倒推特征

特征设计不应从“有什么字段”出发,而应从“要识别什么风险”倒推。常见风险包括:分解住院、挂床住院、过度诊疗、串换项目、虚假就医、冒名就医、团伙骗保。对应到特征上,可归纳为四类:

  • 主体特征:参保人年龄、险种、既往就诊频次、机构等级、医师执业年限、参保状态连续性。
  • 行为特征:住院天数、入院与出院时间间隔、同一诊断重复入院次数、夜间就诊占比、转科转院频次。
  • 费用特征:次均费用、日均费用、药品与耗材占比、自付比例、费用偏离同病种均值的程度。
  • 关系特征:参保人与机构的关联度、医师与诊断组合频次、药品与诊断匹配度、同机构同项目聚集度、团伙就诊网络密度。

以“分解住院”为例,可构造特征:同一参保人、同一主要诊断、出院后7天内再次入院,且两次住院费用均低于同病种P50。若该特征命中,则进入高风险名单。再如“过度诊疗”,可计算某机构某病种的药品占比与检查占比,若同时高于同级别机构P95,则触发预警。特征计算时要注意时间窗口(如30天、90天、180天)和聚合粒度(按参保人、按机构、按医师),不同窗口和粒度会显著影响命中率,需在回测中确定。

建议在特征工程阶段保留“特征血缘”:每个特征记录来源表、计算逻辑、时间窗口、更新频率和负责人。这样当模型效果下降时,能快速定位是数据源变更还是特征逻辑失效。

五、一个可落地的特征计算示例

假设要计算“同一参保人30天内住院次数”这一特征,可按如下逻辑实现:

-- 以就诊事实表为基础,按参保人ID分组
SELECT 参保人ID,
       COUNT(DISTINCT 就诊ID) AS 住院次数_30天
FROM 就诊事实表
WHERE 就诊类型 = '住院'
  AND 入院日期 >= DATE_SUB(当前结算日期, INTERVAL 30 DAY)
  AND 入院日期 <= 当前结算日期
GROUP BY 参保人ID;

计算完成后,将结果与阈值比较:若住院次数_30天 ≥ 3,则标记为“高频住院”风险。实际部署时,该特征可离线批量计算,也可在实时风控中通过流式计算窗口聚合。无论哪种方式,都要保证时间参照系一致——本文所有“30天”均指以当前结算日期为终点向前回溯30个自然日,跨月、跨年不特殊处理。

数据治理与特征工程不是一次性项目,而是持续迭代的过程。接入新数据源、调整校验规则、新增风险特征,都需要配套的版本管理和回测机制。只有把数据底座打牢,后续的模型与规则才能真正发挥支付风控的效力。