把血糖仪和手表接进健康档案:授权、精度与责任三件事

一、设备交来的不是测量值,是带误差的估计值
据公开报道,有一款对话类应用上线了健康档案功能,在用户授权前提下可以接入智能手表、动态血糖仪等设备的健康数据,支持记录病史与过敏史,提供个性化健康分析与小结推送,并能整合睡眠、运动、心率等分散数据结合历史变化。厂商与产品名只按报道转述;它的接入协议、数据存储位置、模型能力与是否具备医疗资质,我们无从核实,本篇一律不推断,也不评价它的分析准确与否——没有实测,任何准确性结论都不该由这篇给出。要写的是”接入”这个动作在字段层面立刻带来的三件事:数据、推断、建议。它们混在一起时用户读到的是同一句话,责任却完全不同。
一条可穿戴设备的读数背后有一串处理:信号采集、去伪、分段、模型判定、平滑。腕部设备给出的睡眠分期不是观察结果,而是对一段运动与生理信号的分类推断。所以档案里的第一层要老老实实写成”设备输出”,而不是写成事实。
三层的边界要划在实现里,不是划在免责声明里。数据层是读数与时间戳,它回答”设备说了什么”;推断层是由读数算出的描述性结论,它回答”这些数据合起来说明什么”,必须能追溯到用了哪些原始值、哪一版算法;建议层面向行动,它回答”你可以做什么”。从推断跨到建议,产品的性质就变了:只要建议层的输出读起来像判断,责任就落在这一侧,多加几句”仅供参考”改变不了用户的理解。哪些内容属于健康提示、哪些已经进入诊疗判断,这条界线要在设计阶段用字段区分,不能等出事后再用文案解释;建议层要有人工通道与就医引导,且不得出现绝对化表述。
二、授权四问与撤销后的三类残留
授权不是一个开关,四问要各自有答案。第一问,授权哪些数据源:粒度要落到每个设备的每类数据,”健康数据”这种整块授权等于把决定权交出去了。第二问,授权到单次还是长期:导入一次历史数据和持续订阅后续每一次测量是两件不同的事,后者意味着未来的数据在用户没有再确认的情况下就进来了,续期条件和到期提示必须存在。第三问,能不能一键撤销:撤销粒度按数据源、按类型还是按时间范围,三者的实现代价差别很大,界面文案不能笼统。第四问,撤销后已生成的派生数据怎么办——这是最常被跳过的一问。
残留有三类:原始读数、加工后的指标、已经进入模型上下文的内容。前两类的处理是删除操作,可以给出带范围的回执;第三类最难,写进上下文的摘要无法撤回,只能让后续生成不再引用它,而”不再引用”这件事要靠可验证的生成记录证明,不能靠承诺。撤销之后要做全链路复查,从设备侧断供、服务侧删除、派生指标重算、上下文屏蔽四步逐步验证,任何一步没有证据就按未完成处理。
三、核心交付物之一:接入与精度声明字段表
字段表的用途是让任何一个展示出来的数字都能回答”你凭什么说我该信它”。缺字段的读数不进档案。
| 字段 | 形态 | 作用 | 缺失时的后果 |
|---|---|---|---|
| 数据源与设备标识 | 设备类型、采集部位 | 区分腕部、指尖、单次与连续 | 不同可信度的数据被同等展示 |
| 采集时间与设备时区 | 原始时间戳加时区 | 多源对齐的基础 | 跨设备时序错位,结论反了 |
| 算法版本与标定信息 | 版本号、标定状态 | 判断同一指标前后是否可比 | 升级被当成身体变化 |
| 完整度与佩戴依从性 | 有效时长占比、缺失段标记 | 区分”没发生”和”没测到” | 缺失被补成趋势 |
| 质量标记 | 伪差、断连、补传、可疑值 | 让异常值有身份而不是直接进计算 | 单点噪声被解释成变化 |
| 聚合方式 | 单点值还是区间统计 | 防止把均值当实测 | 精度被展示层放大 |
| 授权凭证标识 | 凭证、范围、生效与撤销时间 | 撤销后可追溯到具体授权 | 删了不知道按哪次授权删 |
| 派生来源链 | 由哪些原始值与哪版规则算出 | 让推断层可复核 | 结论无法解释 |
| 可比性标记 | 是否跨算法版本、是否跨设备 | 图上直接标出口径变更点 | 历史趋势不可信 |
| 用途与训练状态 | 是否用于分析、是否用于训练、退出状态 | 二次使用的告知与撤回 | 用户不知道自己的数据去了哪 |
四、精度差异怎么在界面上诚实地说话
误差来源至少四类:算法本身,不同实现对同一段信号给出的分类可以不同;佩戴依从性,松动与中途摘下造成的缺失,会被算法填补成一段连续结论;部位与生理特性,睡眠分期的腕部推断、心率的逐秒采样与整段聚合、血糖的连续测量与指尖单次测量,这几类的可信度并不是一回事;算法版本变更,同一台设备同一位置,换了版本之后前后指标不可比,而用户完全看不见这一层。
界面要处理两件事:单点可信度与跨时间可比性。我们的做法是三条硬规则。缺失段不进趋势线,要显式留白,把补全段和实测段画成同一种线是最常见的失真方式,即便出于好意;算法升级要在时间轴上标出口径变更点,并说明变更前后的历史是否重算过;展示层不得提高精度,设备给的是分级结果就不要显示成连续数值,小数位也是一种声明。
五、核心交付物之二:三类数据的展示与责任分层
| 层级 | 内容 | 展示要求 | 责任归属 | 必留字段 |
|---|---|---|---|---|
| 原始读数 | 设备直接输出的值与时间 | 标注来源设备与完整度,不做修饰 | 数据由设备方产生,我方只负责如实转达与留存 | 设备标识、时间戳、质量标记、算法版本 |
| 派生指标 | 由读数计算出的描述性结论 | 说明计算口径与所依赖的原始范围,跨版本要标记 | 由我方规则生成,我方对口径负责 | 规则版本、来源链、可比性标记 |
| 建议 | 面向行动的提示 | 不得绝对化,须带人工通道与就医引导,不得暗示诊断 | 这一层风险最高,须有审核与留痕 | 生成依据、审核人、展示文案版本 |
分层的另一个作用是隔离整合带来的新风险。多源数据对齐错了会得出与事实相反的结论,跨设备身份串号会把两个人的数据合成一个人,异常值被当成趋势会把一次测量放大成一段变化。这三类问题的共同解法是:整合结果必须保留到每一路的原始来源,出现矛盾时按质量标记低的丢弃并向用户显示矛盾,而不是自动挑一个看起来合理的值。档案越”完整”,越要能说明它是拼的还是长出来的。
六、特殊情形、二次使用与测试用例
三类情形要单独设计而不是套通用流程:未成年人,数据主体与操作账号不是同一个人,展示与建议的口径都要收窄;代管账号,代管者看到的数据属于被代管者,权限与留痕要分开记录;家庭共享设备,设备所有权不等于数据所有权,读数归属要有可确认的绑定与解除路径。
推送和二次使用是另一条线。把档案用于个性化推荐时,要有一次性告知和一个能找得到的关闭入口,关闭后不能降级成”不给关的一路更好”;是否用于模型训练要单独成项、可退出,退出状态要能在派生结果上验证。小结推送本身也属于建议层,不能因为它是”推送”就绕开审核。
测试用例我们固定四类:授权撤销后的全链路复查,验证四步删除与屏蔽是否真的走到底;断供与补传,设备离线一段时间再回传,检查时序与趋势是否被污染;算法版本切换后的历史可比性,检查口径变更点是否出现、历史是否被重算;异常读数注入,送进可疑值验证它是否被质量标记拦住,还是直接进了建议层。这四类都是一次设计、长期回归的用例,不能只在上线前手工点一遍。
健康档案的难点不在接进来,在于接进来之后每一句话的责任说得清。这件事不靠文案,靠字段:数据、推断、建议在存储层就被分开标记,界面上才可能分开呈现。洹拓在给客户做这类接入时,把字段表和分层表当成设计评审的入口,两表缺一不进开发——先承认数据是估计值,才有资格谈整合。