一、立项背景与目标
医院线下挂号窗口高峰期排队时间长、号源分配不透明、复诊患者往返医院成本高,传统电话预约又存在占线、无凭证、易漏约等问题。本项目立项目标是把预约挂号、候诊提醒、报告查询等高频就医环节整体迁移到微信端,实现"信息多跑路、患者少跑腿",同时为医院提供号源精细化运营和数据决策能力。
二、软件功能与核心模块
系统包含七大功能模块:
1. 预约挂号:按科室/医生/排班三维度选号,号源池统一管理,支持候补提醒与退改签;
2. 智能导诊:按症状、部位引导患者选择正确科室,降低挂错号比例;
3. 就诊卡绑定与家庭成员管理:支持一人绑定多名家属(含儿童无卡就诊);
4. 候诊队列提醒:实时展示前方等待人数,到号推送;
5. 报告查询与推送:检验检查报告出单后模板消息主动通知;
6. 在线缴费与退款:诊间费用移动端支付;
7. 医院运营后台:排班管理、号源规则配置、退号风控、运营统计报表。
三、业务流程与功能路径
患者侧路径:关注医院官微 → 实名认证绑卡 → 智能导诊或直接选择科室 → 选择医生与就诊时段 → 在线支付锁定号源 → 就诊当日扫码签到 → 候诊叫号 → 就诊后接收报告推送 → 满意度评价与复诊预约。
管理侧路径:科室维护 → 医生排班 → 号源规则自动生成与定时放号 → 退改签与黑名单风控 → 预约数据统计分析。
一、整体架构与技术栈
系统采用"轻前端 + 双通道后端"架构:前端为微信小程序与公众号 H5;接入层使用 Nginx 反向代理与负载均衡;业务层采用两条通道——常规表单类业务走 PHP-FPM(成熟稳定、开发效率高),高并发的号源查询与抢号接口走 webman 常驻进程框架(协程化、无每次请求引导开销);数据层为 MySQL 存储主业务数据,Redis 承担号源库存、分布式锁、消息队列与热点缓存;外部对接微信开放平台、实名核身、短信与模板消息、移动支付。
二、"我"负责的模块与结果
本人负责整体架构设计、号源核心模块与高并发接口。上线后:高峰放号时段号源接口平均响应时间 180ms 以内,未出现一例超卖或重复扣号;线上预约占全院挂号量比例由 12% 提升至 41%,窗口挂号排队平均时长下降约 60%;报告推送触达及时率 99% 以上,显著减少患者无效往返。
三、难点、坑与解决方案
1. 放号瞬时抢号超卖:最初直接操作数据库出现超卖,改为 Redis + Lua 脚本原子预扣库存、异步落库对账,彻底杜绝超卖;
2. PHP-FPM 在长连接与瞬时高并发下表现不佳:引入 webman 常驻进程承接热点接口,QPS 提升 5 倍以上;
3. 微信模板消息触达不稳定:增加短信双通道降级,关键到号提醒双发保证到达率;
4. 与 HIS 内部数据一致性:设计定时对账与补偿任务,保证号源、退费两端最终一致。