日期:2026-07-18
本文为工程实践复盘,客户信息已脱敏;所述数据均为示意值。
我们当时服务的是一家覆盖某省多个地市的医药连锁企业,门店约数百家。它最大的痛点在处方药:纸质处方靠顾客带过来、店员手工录入,医保结算要走线下通道,慢病老顾客每次买药都要重新排队、重新审方,体验差不说,合规风险也高——处方真伪、审方留痕、医保合规,哪一条出事都是大事。
更具体地说,过去一张处方从顾客手里到发药,要经过“收纸质单—店员手抄—药师肉眼审—柜台上刷医保”四步,任何一步都可能出错。纸质单容易丢、容易涂改,遇上代配药更是说不清;医保刷不过去时,顾客只能自费,体验极差,门店投诉里一半以上和“医保刷不了”有关。这家连锁当时平均每天处方量约数千张,覆盖慢病用药、常见病用药多个品类,系统必须在高峰时段扛住门店并发,又不能有任何一张处方“漏审”。对方提的需求很朴素:“让处方能在系统里合规地跑起来,医保能直接刷。”我们评估后给出的方案是:先做电子处方的合规流转与留痕,再对接医保接口做实时结算,最后用慢病会员体系把复购和用药提醒串起来。
落地场景分四块。第一是电子处方的接收与审核:医院 HIS 或互联网医院推送的电子处方,经我们采用的 XpShop 相关系统落地后,进入审方队列,执业药师在线审方、电子签名留痕,审方意见和处方原文一并存证。第二是医保接口对接结算:门店 POS 发起医保结算请求,对接当地医保平台完成身份校验、费用分解、个人账户与统筹支付,结算结果实时回写订单。第三是慢病会员复购与用药提醒:基于处方里的诊断与用药周期,自动在复诊、续方节点推送提醒,把一次性买药变成长期服务。第四是处方药风控:对超量、重复、禁忌联用等做规则校验,把明显违规挡在发药之前,风控规则覆盖了医保目录里的限用药、配伍禁忌等数百条,而不是只做简单的超量判断。
电子处方合规流转与留痕。 处方是强监管数据,必须可追溯、不可篡改。我们采用“接收—审方—发药”三段式状态机,每一步都写审计日志,处方原文与审方意见分别存证,且任何状态跃迁都必须走合法路径,不允许“跳步”。核心状态流转如下:
-- 处方状态机:仅允许合法跃迁
UPDATE prescription SET status = :next
WHERE rx_id = :rx_id
AND status = :cur
AND (:cur, :next) IN (
('RECEIVED','REVIEWING'),
('REVIEWING','APPROVED'),
('REVIEWING','REJECTED'),
('APPROVED','DISPENSED')
);医保接口对接与结算对账。 医保接口对时效和幂等要求极高,网络抖动下容易重复扣款。我们给每笔结算加了全局唯一 settle_no,并对“已提交未回执”的订单做定时对账补偿,确保“病人只扣一次、医保只付一笔”:
// 医保结算:幂等键 + 回执补偿
String settleNo = bizNoGen.todaySeq(storeId, rxId);
MiPayResp resp = miClient.settle(new MiPayReq(settleNo, idCard, amount));
if (resp.isTimeout()) {
// 入对账任务表,5 分钟后补偿查询
reconcileTask.enqueue(settleNo, DelayLevel.L5M);
}处方药审核与风控。 我们用规则引擎做前置校验,把药师从重复劳动里解放出来。比如“同一患者 7 日内同类抗生素处方超过 2 张”直接拦截转人工,“重复处方哈希命中已发药记录”直接驳回。规则配置片段:
rules:
- id: antibiotic_freq
desc: 抗生素短期高频拦截
when: count(prescription where drug_class='ANTIBIOTIC'
and patient_id=:p and paid_within_days<=7) > 2
action: BLOCK_AND_MANUAL
- id: duplicate_rx
desc: 重复处方拦截
when: exists(prescription where rx_hash=:hash and status='DISPENSED')
action: REJECT慢病会员复购运营。 基于处方诊断与用药周期,给慢病会员打标签,在预计用完的前 3 天推送续方提醒;提醒经由我们采用的私域会员体系触达,既能提高复购,也帮顾客按时用药、减少断药风险。
案例片段(已脱敏):医保接口上线压测时,日志频繁出现
MI_SETTLE_DUP——根因是门店弱网环境下 POS 超时后自动重试,但医保侧已扣款。我们加上settle_no幂等键并对超时单统一走对账补偿后,重复扣款归零;上线首月医保结算成功率从约 91% 提升至约 99.2%。
上线约两个月后,我们统计了门店实操与医保侧的双向口径(均为脱敏示意值):
| 指标 | 上线前 | 上线后 | 变化 |
|---|---|---|---|
| 处方流转时效(平均) | 约 25 分钟 | 降至约 6 分钟 | 缩短约 76% |
| 医保结算成功率 | 约 91% | 提升至约 99% | 提升约 8 个百分点 |
| 处方审核差错率 | 约 0.9% | 降至约 0.15% | 下降约 0.75 个百分点 |
| 慢病会员复购率 | 约 38% | 提升至约 52% | 提升约 14 个百分点 |
处方流转时效的下降主要来自电子处方免去了手工录入与纸质传递,审方也从“等人排队”变成“队列里点一点”;复购率提升则来自用药提醒的主动触达,慢病顾客不再因为忘记续方而流失。
第一,处方流转合规是底线,状态机和审计留痕不是可选项,必须每一步可回溯,监管检查时能一键拉出完整链路。第二,医保对接一定要以对账为准,接口本身的“成功”不可全信,超时与弱网下的幂等和补偿机制才是稳定关键。第三,处方药风控前置到审方之前,用规则引擎把明显违规挡掉,把药师精力留给真正需要判断的复杂处方。第四,慢病复购的运营价值很大,但前提是处方数据合规留痕、用药周期算得准,否则提醒会变成骚扰。第五,门店弱网是常态,凡是和外部环境(医保、医院)交互的接口,都要按“可能超时、可能重复”来设计,而不是按理想网络来设计;这套幂等加补偿的思路,后来也被我们复用到其他需要对接外部监管平台的场景里。