一个看似不可能的任务:我们在三天内解决了XX医院的”绝症”问题

“你们能不能在三天内解决这个问题?如果不能,我们就换人了。”

会议室里,XX医院信息科李主任的声音很平静,但每个字都像一块石头,砸在我们项目经理小张的心上。窗外的春日阳光斜斜地照进来,照亮了空气中漂浮的尘埃,却照不进会议室里压抑的气氛。空调吹出的冷风扫过每个人的后背,让人不寒而栗。

这是合同签订后的第二个月,我们的HIS系统在XX医院上线测试的第五天。第五天,一个我们从未遇到过的数据同步问题浮出水面——门诊缴费数据无法实时同步到住院系统。简单说,病人在门诊交了费,住院处查不到,导致重复收费、漏收费,护士站怨声载道,财务科王科长已经来投诉三次了。

我们派出的工程师小刘已经熬了三个晚上,问题依旧。他黑着眼圈,头发凌乱,手指在键盘上飞舞,屏幕上的日志滚动如瀑布。测试环境一切都好,一到生产环境就出问题。日志里只有一堆”timeout”和”connection reset”,看不出所以然。

李主任给我们下了最后通牒:”三天,要么解决问题,要么走人。”他的眼神里没有威胁,只有一种深深的疲惫——那是被问题折磨了一个月后的绝望。

1. 表面的技术问题,背后是管理混乱

回公司的路上,车里没人说话。

车窗外的城市灯火璀璨,但车内一片阴沉。我们在技术圈子里摸爬滚打这么多年,什么疑难杂症没见过?数据库死锁、网络分区、应用OOM…但为什么这次被一个简单的数据同步卡住了?

小张盯着窗外飞驰而过的街景,思绪万千。他想起三年前在另一家医院做数据迁移时,也遇到过类似问题,但那次只用了半天就定位了。这次为什么这么难?

小刘突然说:”哥,我总觉得问题不在代码里。”

“那在哪里?”

“在医院网络的防火墙策略。我怀疑他们在应用层做了流量限制,或者中间有某个设备在做SSL拦截。”

小刘是公司最年轻的高级工程师,26岁,话不多,但一针见血。他打开笔记本电脑,快速画出数据流向图:从门诊收费终端,到HIS应用服务器,再到住院数据库,中间经过三道网络设备——防火墙、WAF、负载均衡。

“如果中间有设备做深度包检测,可能会拦截某些SQL语句。”小刘说。

张哥点点头:”但为什么测试环境没问题?”

“因为测试环境没有那三道设备,直接连数据库。”

2. 七台设备,两个未知节点

第二天一早,我们没带电脑,只带了笔记本和笔,直接去了XX医院的网络机房。

机房在住院部地下二层,恒温恒湿,蓝色LED灯闪烁。机房管理员老陈是个四十多岁的中年人,戴着眼镜,表情很冷淡,正在低头修一台交换机。

听说我们要查网络设备,他直摇头:”你们厂商就是喜欢折腾设备。问题是你们的软件有问题。”

“陈师傅,”小刘递上一支红塔山,”我们不急,就想看看贵院的网络拓扑,特别是HIS系统这条链路上有哪些设备。”

老陈犹豫了一下,接过烟:”跟你们说了也没用,这是内部网络结构,涉密。”

“我们签了保密协议。”李主任也来了,掏出协议给他看。

他扫了一眼,终于松口:”好吧,就看看,不能拍照。”

老陈拿出一张A3纸,画了一张拓扑图,用不同颜色的笔标注:

从HIS服务器(位于信息中心机房)到住院收费终端(分布在门诊楼、住院楼各楼层),中间经过七台设备:

1. 核心交换机(华为S7700,位于信息中心)

2. 防火墙(深信服AF-1000,位于信息中心)

3. WAF(Web应用防火墙,自研,位于安全接入区)

4. 负载均衡(F5 BIG-IP,位于应用前端)

5. 路由交换机(思科Catalyst 6500,住院楼核心)

6. 二层交换机(华为S5700,各楼层)

7. 住院收费终端(PC机,运行Windows 10)

问题出在数据从第3台WAF到第4台负载均衡之间。我们的服务调用住院数据库接口,先过WAF做安全检测,再过负载均衡分发到住院应用服务器。

小刘指着WAF和负载均衡之间的连线:”这里,我们要抓包。”

“抓不了。”老陈说,”WAF是省信息中心统一部署的,我们没有管理权限,只有使用权限。抓包要找省里审批。”

“那WAF的策略是谁维护?”

“省信息中心安全科。他们每季度更新一次规则,但从不告诉我们具体规则是什么。”

张哥心里一沉。这意味着我们要联系省里,走流程,申请排查。七天?一个月?都不够。

小刘却笑了:”哥,我有个想法。”

3. 绕开防火墙,但不能绕过规则

小刘的想法是:不直接连接住院数据库,通过门诊数据库做中转

“如果我们把门诊缴费成功的记录,先存到门诊库,然后让医院现有的数据同步工具(他们有个ETL任务,每5分钟同步一次),把数据从门诊库同步到住院库呢?”

张哥摇头:”住院实时缴费怎么办?病人缴费后要马上生成住院预交金,如果同步有延迟,病人没法办理手术。”

“我们可以加一个中间表,记录所有待同步的数据,再写一个监听程序,确保每条缴费记录都同步到住院库。同步失败就重试,重试三次还失败,就人工介入。”

“但如果数据不一致,财务对账会出大问题。”

“我们可以做到99.99%一致。”小刘眼神坚定,”我在之前项目用过类似方案。”

张哥知道,这方案最大的风险在于:这只是一时之计。如果长期这样,数据延迟会导致住院处无法实时掌握病人费用,影响医疗决策。

而且,一旦住院库有问题,门诊库也会被拖累——数据链路变长了,故障点变多了。

“这个方案能撑多久?”

“至少撑到我们拿到省里的WAF策略调整许可。”小刘说,”我打听到,省信息中心下个月要做一次WAF规则优化,我们可以把我们的情况报上去,申请白名单。”

张哥想想,这也是无奈之举。

4. 说服的关键:不是技术,是态度

我们带着方案去见李主任。

这一次,张哥没有带笔记本,而是带了一叠A4纸,上面手绘了数据流对比图:现状(直接连住院库)vs 临时方案(门诊库中转)。

他开门见山:”李主任,我们有两个方案。方案A:继续等省里审批,预计时间1-2个月,期间系统会持续不稳定。方案B:我们先上线一个临时方案,绕过WAF的误拦截,保证业务正常,同时我们去省里协调。”

李主任皱眉:”临时方案会不会影响数据安全?”

“不会。数据仍在医院内网流转,只是多了一步中转。而且,我们会加日志记录,所有数据流动可追溯。”

“那什么时候能彻底解决?”

“如果省里配合,一个月内。如果不配合,我们只能长期用这个方案,但我们会持续优化,确保延迟在3秒内。”

李主任看向网络管理员老陈:”你觉得呢?”

老陈说:”WAF确实是我们控制不了的。我建议先临时方案,同时周总你们去省里跑,我们医院也给省里发个函,说明业务影响。”

5. 72小时不眠不休

接下来的72小时,是我们职业生涯中最漫长的一段。

小刘带人写中转服务,这是一个Java应用,要监听门诊库的binlog,捕获缴费成功事件,然后写入住院库的中间表,再触发住院库的同步。

张哥在医院现场协调:

– 第一天:改造门诊收费模块,增加数据双写(同时写门诊库和中间表)

– 第二天:开发和部署中转服务,与住院系统联调

– 第三天:数据一致性验证,灰度上线

李主任几乎没回家,吃住都在医院,随时决策。

第三天凌晨四点,系统终于上线。

上线前,我们做了三轮压力测试:

– 模拟门诊高峰,1000个并发缴费请求,中转延迟平均1.2秒,最大3秒

– 住院端查询,数据一致率100%

– 故障切换:如果中转服务挂掉,门诊收费仍能正常进行,只是同步暂停,人工补同步

李主任看着测试报告,紧绷的脸终于有了一丝松动:”上线吧。”

6. 事后复盘,我们做对了什么?

一周后,系统运行稳定。

李主任请我们吃饭。酒桌上,他举杯:”说实话,那三天,我没想到你们能搞定。”

“为什么?”

“换别家厂商,遇到我们这种’受制于省里’的情况,早就推脱了。你们没推脱,而是给我们一个临时方案,让我们业务不停摆。”

张哥说:”关键不是技术方案多巧妙,是不放弃。”

李主任点头:”而且你们没把我们当外人——所有的决策,都让我们参与;所有的风险,都提前告诉我们。这种透明,让我们很放心。”

7. 省里协调:一个月后的好消息

与此同时,张哥跑省里的工作也有了进展。

他找到省信息中心安全科的科长,是一个45岁的技术男。张哥没有直接要策略,而是先做了三件事:

1. 准备数据:统计了XX医院过去一个月因WAF拦截导致的业务异常次数(37次),以及影响的患者数量(约5000人次)

2. 提供方案:写了一份详细的白名单申请,只申请对HIS系统的特定接口放行,并附上了安全自评报告

3. 承诺责任:如果因为放行导致安全事件,由软佳承担全部责任

科长被诚意打动,两周后批复:同意对XX医院HIS系统加白名单,为期一年,期满可续。

消息传来,李主任第一时间打电话给张哥:”你们怎么做到的?”

“周总说过:(‘解决问题,要找到问题的根源’)。问题的根源不是WAF,是沟通。”

8. 这次事件,让我们明白的五个道理

第一,技术问题往往是管理问题的表象

如果XX医院自己有WAF策略管理权,问题早就解决了。但因为他们把安全外包给了省里,就失去了主动性。我们作为供应商,只能适应环境,不能改变环境。

第二,临时方案不是妥协,是策略

永久方案需要时间,但业务不能等。临时方案的价值是赢得时间,同时不让客户受损。很多厂商不愿意做临时方案,觉得”不完美”,但客户才不管完美不完美,客户只要能用。

第三,信任建立在”困难时刻”

如果一切顺利,客户看不出供应商的差别。只有在困难时刻,才知道谁靠得住。那72小时,我们所有人都拼了,这种拼劲,客户 seeing 到了。

第四,跨层级协调是能力

我们不仅要解决技术问题,还要学会和省里、和其他部门协调。这种能力,比技术能力更重要。

第五,透明沟通比技术方案更重要

客户不关心你的技术多高深,客户关心的是:问题能不能解决?什么时候解决?过程中有什么风险?把一切都透明化,客户就不会猜疑。

9. 三个月后:系统稳定,客户满意

三个月后,XX医院HIS系统可用率达到99.95%,数据同步延迟平均0.5秒,住院处投诉率为零。

杨院长在一次IT座谈会上说:”我们信息化,最怕两种供应商:一种是技术不行,一种是服务不行。软佳两种都不占。他们技术扎实,服务到位,关键是有担当。”

这次事件,也成了软佳内部的经典案例,被写进新员工培训教材,标题是:《如何在72小时内解决一个看似不可能的问题》。

10. 核心观点:问题的大小,取决于你的态度

小刘后来在一次技术分享会上说:

“很多问题,看起来很大,是因为你把它当成’问题’。

如果你把它当成’任务’,就有思路;

如果你把它当成’机遇’,就有动力;

如果你把它当成’证明自己的机会’,就一定能解决。

(‘态度决定高度,高度决定角度’)

你用什么样的心态面对问题,问题就会以什么样的结果回报你。”

互动话题

你遇到过最棘手的技术问题是什么?是怎么解决的?

> 基于真实医院场景改编,人物均为化名


立即免费试用门诊系统https://app.kmhis.com/
International Versionhttps://app.kmhis.com/multi/
了解软佳门诊管理系统详情https://www.kmhis.com/outpatient-management-system.html


扫码预约

手机扫码试用患者预约。请勿输入个人真实信息(点击图片可查看原图)

支持8种语言:简体中文、繁体中文、香港中文、English、藏文、泰文、老挝语、越南语


说真的。这类问题我见过太多了。每次看到医院同事为选型头疼。我就想,要是早点有人把这些经验分享出来就好了。毕竟。选择不对。后面全是麻烦。选择对了。省心省力。还能提升整个机构的运行效率。希望这篇能帮到正在纠结的你。

你如果有具体需求。也可以去 www.kmhis.com 看看。那里有更详细的技术方案和案例。

签约前夜生变,团队紧急补救:一次生死时速的合同谈判

签约前24小时,XX省第一人民医院小会议室。

杨院长、刘主任、王科长围坐在会议桌前,对面是昆明软佳的周总、项目经理小张、法务代表。桌上摆着两份合同草案——一份是软佳的版本,一份是医院法律顾问修改后的版本。双方正在逐条核对条款。

小张扫了一眼医院修改的版本,心里咯噔一下:医院把违约金条款改得面目全非

原条款:”若软佳原因导致上线延期,每延期一天,支付合同金额的0.5%作为违约金,上限为合同总额的20%。”

医院修改后:”若软佳原因导致上线延期,每延期一天,支付合同金额的3%作为违约金,上限为合同总额的50%。”

580万的3%,一天就是17.4万。 ten天就是174万,远超合同利润。而且上限50%意味着,只要延期超过16天,软佳就要倒贴钱。

“这个条款我们不能接受,”周总说,”3%太高了,50%上限也不合理。”

刘主任态度强硬:”按时上线是你们的基本义务。合同白纸黑字,不能改。”

会议室气氛瞬间紧张。

小张知道,如果在这里僵持,签约可能会推迟甚至告吹。他需要找到一个突破口。

1. 临危受命:法务代表的角色

软佳的法务代表是老陈,从业二十年,见过大风大浪。他看了看医院版本,又看了看自己带来的版本,说:

“刘主任,你们这个修改,其实是行业里常见的’风险转移’思路——把所有的延期风险都压在我们实施方身上。但你们有没有想过,如果延期是因为贵院的原因呢?”

刘主任一愣。

老陈继续:”比如,你们提供的测试环境不稳定,导致我们无法测试;你们需求变更频繁,我们在开发中途还要返工;你们网络不通,我们集成不了——这些都会导致延期。如果延期是这些原因造成的,我们还要赔钱吗?”

会议室安静了。

杨院长问:”那你们希望怎么改?”

小张接过话:”我们希望是对等责任——双方违约都要承担责任,而不是单方面压着我们。”

“怎么对等法?”王科长问。

小张提出一个方案:

– 延期违约金=延期天数×合同金额×0.3%(原0.5%)

– 上限=合同总额的10%(原20%)

– 如果延期是医院方原因导致,医院方需补偿我方额外成本(按实际工时)

– 引入”延期责任共担”条款:如果双方都有责任,按责任比例分摊

“0.3%太低了,”刘主任说,”至少1%。”

“上限10%也太低了,”王科长说,”至少30%。”

小张心里有数:他们的底线是0.3%和10%。这是经过法务评估的——0.3%对应实际损失(主要是机会成本),10%对应风险敞口。如果违约金过高,实施团队压力会很大,反而可能为了赶工而牺牲质量。

谈判陷入僵局。

2. 深夜紧急电话:风险背后的真实顾虑

晚上九点,双方暂时休会,明天继续。

周总叫住小张:”你觉得他们为什么这么坚持高额违约金?”

小张想了想:”可能是之前吃过亏。听说他们上一家供应商就是因为延期,最后不了了之,医院损失很大。”

“那我们要不要让步?”

小张摇头:”不能。这个口子一开,后面所有条款都会跟着压过来。而且,高额违约金会导致我们团队心态失衡——他们会为了不延期而草率交付,最终伤害的是客户。”

周总点头:”那我们要想办法让他们理解,’责任共担’对大家都好。”

这时,杨院长给小张发了一条微信:”小张,能电话聊一下吗?”

小张心中一喜——杨院长主动联系,是个好兆头。

电话里,杨院长开门见山:”小张,实不相瞒,我们这么坚持高额违约金,是因为我们怕了。上一家供应商,合同签了180万,结果项目拖了半年,最后只完成了60%,他们卷铺盖走了,我们钱打了水漂,项目也烂尾。这次我们再招标,院长办公会定的基调是:’不能再让供应商逍遥法外’。”

小张明白了。这不是简单的谈判策略,而是信任缺失

“杨院长,”小张说,”我理解你们的担忧。但高额违约金并不能解决问题,它只会制造更大的问题——供应商为了不违约,可能会隐瞒问题、草率交付、或者最后干脆跑路。”

“那你们能给我们什么保证?”

小张说:”我们能给的保证不是’违约金’,而是’过程透明’和’快速响应’。”

3. 用方案赢得信任:分阶段验收与透明沟通

小张在电话里提出了一个新的履约方案:

① 分阶段验收,分期付款

– 技术验收(UAT通过)→ 付90%

– 业务验收(上线7天无重大故障)→ 付5%

– 稳定运行验收(上线30天可用率>99.9%)→ 付尾款5%

这样,医院的风险是延后支付尾款,而不是追求违约金。软佳则需要确保每个阶段都达标才能拿到钱。”这个方案,我们愿意在补充协议里写明。”

② 每周项目例会,透明化进度

软佳每周一向医院项目组汇报上周进展、本周计划、风险及应对。所有会议纪要对双方公开。如果出现任何可能影响工期的风险,必须24小时内上报,而不是藏着掖着。

③ 建立变更控制委员会(CCB)

任何需求变更,必须经过CCB评估(医院和软佳各派2人),评估对工期和成本的影响,双方签字确认后才能执行。这样避免了”单方面变更”造成的延期纠纷。

④ 提供履约保函

软佳向银行申请一份履约保函,如果软佳违约导致医院损失,银行可以直接赔付(最高到合同总额的10%)。这比违约金条款更有力——违约金需要医院起诉,保函是银行直接兑付。

杨院长听完,沉默了几秒。

“这些方案,可以写进合同吗?”

“可以,作为补充协议,与主合同同等法律效力。”

“那违约金条款呢?”

“我们建议调整为0.3%,上限10%。但配合分阶段付款——如果我们在某个阶段失败,你们可以不付那部分款项,同时保函会赔付。这样你们的实际保障比高额违约金更强。”

4. 凌晨两点的补充协议

第二天凌晨两点,小张和老陈还在改条款。

他们要把昨天晚上和杨院长达成的共识,变成严谨的法律文本。这不是简单的文字工作,每个词都要经得起推敲。

老陈说:”这里要加一个’不可抗力’条款——如果因为疫情、地震、政策变化等不可抗力导致延期,双方都不承担责任。”

小张点头:”还要加一个’双方原因共同导致延期’的处理方式——按责任比例分摊,不是全归我们。”

他们一式三份:主合同、补充协议、保函申请。

小张看了看表,已经凌晨两点半。他给杨院长发了条微信:”协议已准备好,明天上午九点可以签约。”

杨院长回复:”辛苦了。期待合作。”

5. 签约现场:从对抗到合作

签约当天,气氛已经和两天前完全不同。

杨院长首先发言:”这次谈判,我们学到了很多。过去我们只想着’保护自己’,用高额违约金来约束供应商。但小张他们让我们看到,真正的合作不是’谁惩罚谁’,而是’双方共同对结果负责’。”

“这个合同,不只是法律文件,也是我们合作关系的起点。”

周总接过话:”我们也会用行动证明,选择软佳是正确的。我们会在项目开始后第一周就驻场,每周汇报进展,有问题立刻沟通,绝不藏着掖着。”

签约笔在双方代表手中传递。当笔尖落在纸上的那一刻,小张心里一块石头落地了。

华通的赵总在场,脸色铁青。他没想到,软佳会用”透明”和”信任”赢得了合同,而不是价格。

签约仪式后,杨院长请所有人喝茶。

她举起茶杯:”这次合作,我希望不是结束,而是开始。愿我们共同努力,把这个项目做成省里的标杆。”

小张举杯:”我保证。”

6. 签约后的变化:透明带来的安心

签约后第一周,软佳的团队正式驻场。

每周一上午十点,项目例会在医院会议室准时举行。小张会展示上周完成的工作、本周计划、以及当前的风险清单。有一次,测试环境遇到了一个bug,导致某个功能阻塞,小张在例会上如实汇报,并给出了修复计划和时间预估。

刘主任问:”这个bug会影响上线吗?”

小张回答:”如果明天能修复,就不影响;如果修复遇到困难,我们需要推迟两天。我会明天下午四点前给你们明确答复。”

这种透明度让医院方面感到安心。过去,他们遇到过供应商报喜不报忧的情况——问题藏着掖着,等到 deadline 才说”做不完”。现在,软佳提前暴露风险,反而给了他们处理的时间。

李主任私下对小张说:”你们这种’有问题就说’的风格,比那些’什么都好’的供应商让人放心。”

7. 三个月后:信任的检验

项目进行到三个月时,遇到了一次真正的考验。

医院提出了一个新的需求:要在系统中增加一个”患者满意度评价”功能,要求上线前必须完成。这个需求不在原合同中,评估需要增加5人/天的工作量。

如果按照之前的变更流程,这个需求需要走CCB评估,可能会增加费用或推迟工期。

小张召集团队评估后,发现这个功能确实需要额外时间,但更重要的是,它需要与医院的客服系统对接,而客服系统还在另一个供应商那里,接口文档还没完全拿到。

小张没有隐瞒,而是在周例会上如实汇报:”这个需求我们可以做,但需要5人/天,而且依赖客服系统的接口。如果接口延迟交付,我们的工期也会相应延后。建议CCB评估优先级。”

刘主任听后说:”这个功能其实不是紧急的,可以放到二期。先按原计划走吧。”

这件事让医院方面看到,软佳不是”无条件接需求”,而是会如实告知代价和风险。这种 honesty,比”什么都答应”更赢得信任。

8. 项目上线:圆满交付

六个月后,系统正式上线。

上线过程非常顺利——这得益于之前充分的测试和透明的沟通。没有出现重大故障,用户的投诉率比旧系统下降了40%。

验收会上,杨院长说:”这次合作,让我重新认识了’乙方’。不是所有乙方都是为了赚钱不管不顾,也有真正为客户着想的。”

小张回答:”我们希望,每个项目结束,客户都觉得’选对了’。”

互动话题

你在项目合作中,有没有遇到过”签约前拼命承诺,签约后不认账”的情况?后来是怎么解决的?你认为合同条款中的”违约金”设置多少合理?欢迎分享你的合同谈判经验和教训。

> 基于真实医院场景改编,人物均为化名


立即免费试用门诊系统https://app.kmhis.com/
International Versionhttps://app.kmhis.com/multi/
了解软佳门诊管理系统详情https://www.kmhis.com/outpatient-management-system.html


扫码预约

手机扫码试用患者预约。请勿输入个人真实信息(点击图片可查看原图)

支持8种语言:简体中文、繁体中文、香港中文、English、藏文、泰文、老挝语、越南语


说真的。这类问题我见过太多了。每次看到医院同事为选型头疼。我就想,要是早点有人把这些经验分享出来就好了。毕竟。选择不对。后面全是麻烦。选择对了。省心省力。还能提升整个机构的运行效率。希望这篇能帮到正在纠结的你。

你如果有具体需求。也可以去 www.kmhis.com 看看。那里有更详细的技术方案和案例。