健康信息记录网站的搭建之旅

最近用 Codex 帮忙搭了一个网站,名字就叫“健康系统”。名字没怎么纠结,先把东西做出来再说,之后再慢慢修补咯。

最开始的想法很简单:把看病相关的资料放到一起。病历、检查报告、领药单、发票,再加上自己记下的症状,都能上传进去,以后想查的时候有个地方找。使用的人也不多,暂时按十个人左右考虑(服务器太小啦)。

我给它定的范围很明确,就是记录和整理。医生怎么诊断、开了什么药,系统照着原始资料记录。治疗建议这件事不在这次开发的范围里。

原本还想把网页、鸿蒙、iPhone 和 iPad 一起做了。做着做着,我决定先把移动端放一放。网页上的操作方式都还在调整,同时做几个端,每改一次想法,就得跟着改好几个地方。先把网页用顺了,后面再考虑手机端。

整个开发过程中,我改得最多的是需求。

一开始,我觉得有上传、有分类、有查询,应该就差不多了。等页面出来,我才发现,病历归病历、检查归检查、账单归账单,资料虽然都存进去了,回头看一次生病的经过,还是得自己来回找。

于是我把需求重新说了一遍:假设今天头痛,先记下症状;第二天去医院,把病历上传;之后领药、复查,或者吃药后感觉怎么样,都接着补进去。以后打开这次记录,能顺着时间往下看,知道当时发生了什么。

网站的首页也跟着变了。我把时间线放到了首页,最近活动移到单独的页面。平时量个体重、记个血压,就走身体数据的入口,不用特意建一次病情记录。

连按钮的名字也来回改了几次。“开始健康过程”读着有些别扭,后来改成“记录一次病情”,最后用了更直白的“又生病了”。放在自己的小工具里,我觉得这样挺合适,看到就知道点进去要干什么。

上传资料的方式也调整过。最初需要自己选择这是病历、检查还是账单。我想了一下实际使用的情形:去一趟医院,手里攒着好几张单子,回家还得逐张分类,光是这一步就容易让人懒得整理。所以后来加了批量上传,选中某次病情,把相关附件一起传进去,再交给系统识别和归类。

我在这里用的是百度智能云的 OCR 和 DeepSeek。OCR 负责识别图片上的文字,DeepSeek 根据这些文字整理内容,写进时间线。捣鼓了一会百度OCR的API,不得不感叹目前大厂的收费是做的多么细!

接口接通只是开头。后面要考虑的情况,比我最初想的多。

比如第一次只上传了门诊病历,过几天才找到当天的领药单,这张单子就应该补回原来的时间线上。还有可能记不清自己传过没有,又把同一张病历传了一遍,总不能因此多出一次就诊。

我后来补充的要求是,每次上传后,都要结合这次病情之前的资料一起整理。已有的内容尽量合并,重复内容别再记一遍,遇到姓名对不上、时间跨度过大这些情况,就提醒用户核对。这个部分还需要继续拿不同的资料去调,我也不敢因为几次识别结果看着正常,就觉得已经做好了。

AI 整理出的文字同样得能改。医院名称、就诊时间,甚至某句话的意思,都可能识别得不准确。我希望打开记录后能直接修改总结,也能查看和编辑 OCR 原文,传错的附件可以删除。自己存的健康资料,最后总得由自己核对。

界面倒是越改越简单。

刚开始页面上有不少内容:侧边栏、统计数字、人员基本信息、资料整理区域,还有好几个重复的标题。每一块单独看都有用途,放到一起就显得很挤。我后来陆续删掉了一些展示,把人员选择放到左上角,其他功能收进头像菜单,首页尽量留给时间线。

资料详情也改成从右侧展开的大面板。以前挤在最右边,看病历和附件都不太舒服。调整之后,至少在电脑上回顾资料时,空间宽裕了不少。

跟 AI 一起开发,有一件事让我印象挺深:我经常是在看到页面之后,才知道自己哪里没说清楚。

说一句“帮我做个健康管理系统”,它当然能做出一堆功能。但我真正会怎么用、哪里觉得麻烦,还是得自己点进去试。比如“这几个按钮我分不清”“这里的标题重复了”“上传第二张单子时,要考虑前一张的内容”,这些具体反馈,比最开始那段功能描述管用得多。

账号和权限也花了一些工夫。前面接过统一身份认证,后来我决定让这个网站有自己独立的账号。每个人有自己的人员档案,需要共同记录时,再把相应档案分享给其他成员,分成可查看和可编辑。

这部分我用了第二个账号来回验收。给只读权限后,确认能看到资料、不能修改;移除权限,再刷新看看档案是否消失;换成可编辑权限,再检查相应入口。过程有点琐碎,但只看管理员自己的页面,确实发现不了这些问题。

后面又补了后台管理,以及重置密码后要求用户重新改密的流程。做到这里,才发现一个十来个人使用的小网站,也会碰到忘记密码、账号停用、权限撤销这些日常问题。

这次搭建里,Codex 帮我完成了大量代码、配置和部署工作,让我能很快看到自己的想法变成页面。与此同时,我也花了不少时间在浏览器里反复操作,再把不满意的地方一条条说清楚。有时候只是一个按钮的位置,有时候则会牵动整个记录方式。

网站现在已经上线,我还在继续调试网页端。接下来想多试几种实际使用情况,尤其是分批补传、重复上传,以及 AI 整理后需要人工修改的部分。静候佳音!