做了一个慢性病记录 App:血压血糖体重用药,聊聊技术选型和产品思路
起因:帮我妈记血压这件事
去年我妈确诊高血压,医生让每天早晚各测一次并记录。她最开始用纸质本子记,坚持了两周,本子就找不到了。后来我帮她下了两个健康类 App,一个界面太复杂她不会用,另一个只能画折线图,她看完一脸茫然——"这条线往上了是高了还是低了?"
我当时就想,这个需求其实不复杂:录入数值、自动判定是否正常、积累数据后给出有意义的提示。市面上的方案要么太重(接入各种硬件生态),要么太轻(纯记录不分析)。于是我决定自己做一个,这就是「健康手账」的来历。
产品做了什么
健康手账支持血压、血糖、体重、用药四个模块的日常追踪与趋势分析,面向慢性病人群做全周期健康记录。
核心交互很简单:早上量完血压,打开 App 输入数值,它会自动按照国际标准把这次读数归到对应分级——正常、正常高值、一级高血压,一目了然。血糖同理,空腹和餐后分开判定,不用自己去翻对照表。
记录积累到一定量之后,趋势图会标记出波动异常的时段,比如连续三天晨起收缩压偏高,App 会给出一条明确的预警提示。这个功能我觉得比单纯画折线图实用得多,因为很多中老年用户其实看不出图表里藏着的问题。
用药管理这块我花了比较多时间打磨。录入药物后可以设定服药提醒,到点推送通知。更关键的是它会统计"依从率"——过去一周、一个月你实际按时吃药的比例是多少,白纸黑字摆在那里。配合标签关联功能,还能回看某段时间换药或停药后血压血糖的变化走势,复诊时把这些数据给医生看,省去大量口头描述。
家庭多档案解决了我最初的痛点:帮爸妈记录。一部手机可以建多个档案,切换方便,不用来回登录。需要带数据去看诊时,直接导出 PDF 报告,格式清晰,包含时间段内的均值、极值和趋势图。支持 Apple Watch 联动的用户还能在表盘上快速录入,省掉掏手机的步骤。
技术选型简单聊几句
整个 App 用 SwiftUI 写的,数据层走 Core Data + CloudKit 同步。血压分级判定的逻辑其实不复杂,核心就是一个区间匹配,大概长这样:
enum BPCategory: String {
case normal = "正常"
case elevated = "正常高值"
case hypertension1 = "一级高血压"
case hypertension2 = "二级高血压"
static func classify(systolic: Int, diastolic: Int) -> BPCategory {
if systolic < 120 && diastolic < 80 { return .normal }
if systolic < 130 && diastolic < 85 { return .elevated }
if systolic < 160 && diastolic < 100 { return .hypertension1 }
return .hypertension2
}
}
趋势预警那块稍微复杂一些,用滑动窗口做连续异常检测,窗口大小可配置。PDF 导出用的是 UIGraphicsPDFRenderer,把 SwiftUI 的 Charts 渲染成矢量图塞进去,效果比截图清晰很多。
Apple Watch 端是独立的 watchOS App,用 WatchConnectivity 做双向同步,录入完成后台静默传回 iPhone 侧的 Core Data。
最后
如果你或家人需要长期监测血压血糖,每天都在记录却只是写在纸上或者散落在不同 App 里,健康手账能把这件事收拢到一处,并且真正帮你"看懂"这些数字。
价格方面,App 免费下载,基础记录功能免费使用,趋势洞察预警和 PDF 报告导出等进阶功能通过内购解锁。
有类似需求的朋友可以试试,也欢迎在评论区交流慢性病管理类 App 的产品和技术思路。

浙公网安备 33010602011771号