banner
约 1,500 字
5 分钟

HRT Monitor:把分散的激素化验单整理成连续记录

摘要

一款本地优先的激素监测工具,提供 Android 与 PWA 两种入口,把六项指标、单位换算、趋势图、生活事件和可导出的报告放到一起。

一张化验单可以告诉我们某一天测到了什么。过了几个月,真正难回答的问题往往是:和上次相比变化了多少?两家医院的单位是否相同?用药调整发生在这次检查之前,还是之后?

HRT Monitor(点击可访问GitHub仓库)把这些分散的信息整理成连续记录。它面向跨性别女性的性激素六项化验管理,提供 Android 应用与网页版 PWA,无需账户,基本记录功能以本地存储为主。

让六项指标进入同一套记录#

项目支持雌二醇 E2、睾酮 T、促黄体生成素 LH、促卵泡生成激素 FSH、催乳素 PRL 和孕酮 P4。每项指标可使用多种单位,图表与报告通过统一基准进行比较。

例如,同样是睾酮,不同报告可能使用 ng/mL、ng/dL 或 nmol/L。直接把数字画在一条线上,会把单位差异误看成身体变化。源码把每项指标的单位与换算系数集中管理,再用共同的转换函数生成趋势和统计。

这可以减少手工计算的重复劳动,录入时仍要核对项目名称、单位与日期。软件正确换算一个录错单位的数值,得到的仍然是错误记录。

趋势图旁边,还需要发生过的事情#

应用支持按指标查看折线图,切换显示单位,并选择全部、近一年、近六个月或近三个月等时间范围。参考范围可以叠加显示,点击数据点查看具体记录。

项目也提供生活事件时间线,用于记下开始 HRT、用药调整、更换医生、手术等节点。把时间线和血检日期放在一起,有助于回忆当时的情况,避免只盯着曲线猜原因。

时间上的先后并不能单独证明因果。一次指标变化可能涉及采血条件、检测方法或其他因素。时间线更适合帮助整理问题,再把原始化验单和记录一起带给医生讨论。

参考范围可以配置,判断也要保留上下文#

HRT-Monitor 内置若干常见参考范围与 GAHT 目标范围,允许自定义、控制图表显示,并为指标选择目标范围。首页和报告中的“偏低、范围内、偏高”,据此计算。

因此,状态标签的意思是“与当前选定范围相比如何”。它并不是一次独立的医学诊断。范围的适用性需要结合检测机构、检查条件和个人医疗方案核对;程序预置了某个数值,不代表每个人都应以它为治疗目标。

生日和 HRT 起始日期可以选填,用于显示血检时的年龄与 HRT 时长。它们给记录增加时间背景,用户也可以跳过填写。

Android 与网页,用同一种备份格式#

Android 版本使用 Kotlin、Jetpack Compose 与自绘图表;网页版是零依赖静态 PWA。手机或平板上可以从浏览器使用,iPhone、iPad 也可以通过“添加到主屏幕”获得更接近应用的入口。

两端共享 JSON 数据格式,能导入彼此导出的备份。项目提供合并与替换两种导入方式,也可以导出 CSV 方便进一步整理。

这里的跨平台互通通过导入、导出完成,当前没有账户同步服务。换设备时,需要自己转移备份。数据备份还应和应用偏好设置区分:源码中的数据 JSON 主要保存化验记录、事件、自定义范围和目标范围,不应默认认为它同时备份了所有个人资料与 AI 配置。

本地优先,需要配合主动备份#

Android 将数据保存为本地 JSON 文件,网页则使用当前浏览器的 localStorage。基本记录与本地统计不需要把化验结果提交到项目服务器。

这种设计降低了使用门槛,也让备份责任更明确:卸载应用、清除浏览器站点数据或更换浏览器,都可能让原来的本地记录无法继续使用。Service Worker 缓存的是网页应用资源,不能当作化验数据的异地备份。

定期导出 JSON,并在重要操作前另存一份,会比等换机时再寻找数据稳妥。备份里也可能包含健康信息和事件备注,需要选择自己信任的保存位置。

本地报告与 AI 解读,各自做什么#

本地报告可以直接生成指标统计,包括最近一次结果、历史最小值、最大值、平均值,以及相对于所选目标范围的情况。它适合把零散记录压缩成就诊前容易查看的摘要,无需调用模型。

AI 解读是另外一条可选路径。用户自行配置 OpenAI 兼容接口的地址、密钥和模型,主动触发后才发送请求。网页版源码显示,提交内容包括各指标的统计摘要、目标范围和近期事件,事件备注也可能随之发送。

因此,“数据默认留在本机”需要和“主动请求外部 AI”分别理解。启用前应确认所用服务和将发送的信息;模型名称与接口可用性也应以服务商当前情况为准。

AI 可以帮助组织问题、解释术语,输出仍需核对。无论图表、范围标签还是模型回复,都不应直接成为自行调整用药的依据。

从一条记录开始#

第一次使用时,可以先录入一张化验单,核对日期与单位,生成一次本地报告,再导出 JSON,确认备份能够找到。等积累了更多记录,趋势与事件时间线才会逐渐发挥作用。

网页版入口是仓库提供的 hrt.isomeria.top。本文未测试该站点的实时可用性;使用方式和当前实现以仓库说明为准。

项目与实现#

本文依据仓库快照 421b613,阅读了说明与相关源码,未构建 APK 或实测跨端导入。

END