使用与接入指南 · 2026-10-12

健康图谱 · 个人健康管理平台 V1 完善版

应用版本 1.1.0 · 医学图谱版本 2.0 · 更新日期 2026-10-04

本版可以做什么

平台将个人资料、体检报告、历史趋势、待复核发现、行动计划和设备数据放在同一个私有健康空间。共 8 个页面:健康总览、体检报告、历史趋势、风险提示、体检建议、行动计划、可穿戴数据、健康图谱。

个人资料按平台认证用户隔离保存,原始报告单独保留。演示档案包含 10 年、700 条合成检查结果、300 条示例报告结论、4 条独立影像尺寸追踪、2 项示例计划及模拟设备序列;演示操作只在当前页面会话保留。切换“我的档案”后查看自己的记录。

图谱包含 868 条医学指标与评估定义、248 个检查父项、503 个结构化参考案例、467 条来源记录,形成 5,161 个节点和 11,784 条关系。它是持续扩展的医学参考目录,不等于已覆盖所有医学检测、全人群参考区间或全部筛查指南。

注册、登录与账户切换

从页面右上角进入注册或登录。使用称呼、邮箱和 12–128 个字符的密码创建账户,注册成功后自动进入个人空间。邮箱账户与 ChatGPT 账户分别保存档案,不会根据邮箱自动合并;原 ChatGPT 档案可从登录页选择“使用 ChatGPT 账户继续”访问。

点击右上角账户菜单可编辑个人资料或退出登录。退出会同步更新其他标签页,原有记录继续保留。未登录时可以体验演示档案,也可先提取报告;在核对页点击“登录或注册”会打开新标签页,登录后返回原页可继续核对和保存,草稿保持在原页内存中,刷新或关闭原页仍会丢失未保存内容。

当前尚未提供邮件验证和邮件找回密码,请妥善保存自己的登录凭据。

建议从这五步开始

  1. 打开“我的档案”,补充出生日期、参考解释所需性别、生理阶段、吸烟史、既往史与家族史;未知信息留空。首次个人资料成功读取后才能进入编辑,后台刷新不会覆盖正在输入的表单。
  2. 上传一份 PDF、图片或结构化报告,先查看画像预览,再对照来源页码核对指标、单位、参考范围、文字结论、报告建议与报告基本信息,然后保存。无法匹配的项目可保留为文字记录;错误的基本信息可以更正或移除。
  3. 从健康总览查看有记录的领域与待复核发现;进入报告页核对证据,进入趋势页比较不同日期的结果。
  4. 将一个需要处理的发现或建议加入“行动计划”,记录计划日期、依据、关联报告和进展备注,再标记完成或归档。
  5. 需要就医沟通时点击“导出就医摘要”;有设备数据时先建立设备,再导入文件或配置网关接入,并核对采样时间与数据来源。

报告上传、核对与修订

支持 PDF 文本层、扫描 PDF 与图片 OCR、CSV / JSON / TXT / TSV 以及手动录入。PDF 和中英文 OCR 在浏览器运行,识别资源随应用提供;用户可以取消提取。单份附件最多 15 MB,PDF 识别最多 20 页。只有确认保存时,原文件与已核对内容才提交到应用。

新流程按页保留文字层或 OCR 的来源,用文字坐标与表头识别并排表格,在读取顺序中保留左右列和跨行参考条件。候选指标保留结果、单位、报告参考范围、原始结果行、页码、检查部分及原报告箭头 / 异常标记。报告标记与平台按参考范围计算的状态分开显示,不互相替代。

除了指标,还提取体检总评、影像描述、检查所见和报告建议,按 8 个健康领域整理为可编辑的文字记录。每份报告最多 350 条数值或定性指标、120 条文字记录,每条文字记录最多 4,000 个字符;过长原文按段拆分并保留来源。可以只保存文字记录,但必须至少有一条已核对的指标或文字结论,不能保存空报告或仅包含姓名、年龄的报告。结构化快照最多 1,500,000 字节;超限会在写入前拒绝,原始附件仍可随正常大小的报告保留。

识别到的姓名、报告记载性别、检查时年龄和出生日期属于当次报告的背景信息,可更正、清空或整体移除。没有明确出生日期时不会根据年龄推算。它们不会自动覆盖个人档案,也不会自动成为既往病史、诊断或检查计划。

上传核对界面包含“画像预览”“指标核对”“结论核对”“对照原报告”。用户可以按缺失项筛选指标,修正名称、数值、单位、范围、方法及测量情境,或将无法匹配的项目保留为文字记录,并对照页码查看原文。文字结论可修改类型、领域、标题及原文;核对确认后才保存。后端仍独立校验已核对标记、字段长度、页码和支持的类型,JSON 导入不能绕过核对。

OCR 只负责提取候选内容。字符、小数点、负号、箭头、列位置与跨行范围仍可能识别错误,需要打开原报告核对。定性结果可以没有单位;数值结果必须提供单位。GLU、血糖、收缩压等含糊名称不会自动确定标本、空腹条件或测量场景。

结构化导入中含不同日期或不同机构时,平台要求拆分报告。PDF / 文字提取优先读取明确标注的检查或采样日期,不把打印日期、条码号当作检查日期;若出现多个检查日期或机构,相关字段保持待核对并给出说明。保存后,同一报告的所有指标仍使用已核对的统一日期与机构;来自不同次检查的结果应分别建档。

报告页独立读取该报告的全部检查结果和文字结论,不受总览 5,000 条观察上限影响。结论按领域展示并可展开原文、查看来源页码;指标可按“全部结果”“范围外 / 需看原文”“资料待补充”筛选,并搜索指标。

发现录入错误时,点击“修订结果”,再次核对并填写修订原因。修订会新增版本,保留旧结果快照和原始附件。历史面板展示最近 100 个版本,可下载选定版本的完整 JSON。另一个窗口已保存新版时,旧窗口的提交会被拒绝并提示重新读取,避免覆盖新内容。元数据、报告补充内容和检查结果在同一读取批次中取得,保持版本一致。修订请求省略 details 时保留已有内容;旧报告与旧版本可以没有这些字段。

删除报告会删除它的检查结果、修订快照和原始附件。既有计划的文字仍保留;若关联报告已删除,可以在计划编辑器中移除失效关联。

健康画像与历史趋势

“你的健康画像”提供四个可切换维度:身体系统、个人背景、日常记录、记录与计划。顶部汇总领域记录覆盖、已核对结论、可比较趋势与待跟进计划,并保留资料中的年龄、身高、体重与最近检查日期。

身体系统按 8 个领域展开,分别显示指标种类和最近结果条数、原报告范围与标记、日期、机构、来源报告和趋势。支持展开完整结果与已核对报告原文;同日多条结果分别保留,不指定其中一条为最后采样。个人背景显示自填资料、既往用药背景、家族史及当次报告基本信息,报告背景不会覆盖自填资料。

日常记录按设备分别查看睡眠、活动、心率、血氧等数据,显示采样时间、统计窗口、信号质量、来源、方法、情境与算法;同刻不同记录可以逐条展开,不平均合并。记录与计划提供报告时间线、用户自行安排的跟进日期,以及缺少参考范围、方法与情境的最近结果条数。

未核对的指标和结论不计入已核对画像;无效或未来的采样日期不参与最新值和趋势。个人身高体重未附测量日期,不作为即时测量。覆盖程度与资料填写程度均不是健康评分。存在未载入历史时明确显示载入范围。

总览用 8 个领域组织检查记录:糖脂代谢、心血管、肝脏、肾脏、血液、甲状腺、身体测量和其他。颜色表示已有记录、范围外结果或信息待补充,不是器官健康评分。

总览按“最近记录概览 → 单指标逐年变化与异常列表 → 人体健康画像 → 报告与管理记录”组织内容。跟进线索和报告原文、计划、日常快照默认折叠,仍可直接打开,避免同一组静态趋势和资料在总览反复展示。最近一份有已核对文字结论且日期有效的报告放在管理记录中,标明检查日期,先展示最多 4 条总评或影像结论;可展开其余原文、进入完整报告,并主动把一条原文带入计划编辑器。

本次为新增专科目录中的 102 条定义建立了明确的领域导航映射;保留旧的明确映射,剩余不明确的专科定义归入“其他”。这种映射用于浏览,不用于推断疾病或声称领域覆盖完整。

总览统计仅使用已核对、有效且不晚于今天的结果;“最近异常指标”和“待解释”分别按指标去重,同日多条仍逐条保存。异常与待解释分类在同日混合结果中可以重叠。“回到范围”表示曾有明确异常、最近检查日只有一条结果且与该次报告参考一致,不表示疾病恢复,也不跨检测条件计算改善幅度。个人档案存在未载入历史时显示已载入与总量;未核对、无效或未来日期的记录单独提示,不参与当前概览。

同一指标的最近检查日出现多条结果时,全部保留并提示采样先后未确认,不用记录编号推测先后。数值结果保留精度,微小非零数值不会显示成零。

趋势按指标、单位、机构、检测方法和测量情境分组。只有已核对、条件完整、不同日期的可比较数值,才显示观察窗口内的绝对变化。缺少机构、方法或情境,以及同日多条结果,只显示记录点与原文,不生成有先后含义的连线或汇总变化。阴性、阳性、文字和不等式结果保留原文,不强行转成数值。

指标逐年动态回看

健康总览支持选择任何已载入的指标,通过播放、暂停、重播、1×/2× 速度、前后年按钮和年份滑杆逐年回看。默认展示最新年度,由用户主动播放;播放完停在末年,页面隐藏时暂停,切换指标或来源事实改变时停止并重置。指标回看年份只改变当前图表,不会把总览计数、人体画像或日常设备记录改成该年的即时健康状态。

每年呈现该指标最后检查日的结果;该日存在多条时全部保留,不选代表值。若同一年有更早结果,明确年度结果条数,并通过完整趋势页查看所有日期。没有该项记录的年份保持空缺,不延用上一年的值,不补零。

数值图每个单位、机构、方法和测量情境组使用固定的完整历史数值轴,包含该组已载入结果和报告参考边界;播放时累计显示曲线和当前年份光标,并展示当次参考区间。不同记录条件、缺少条件、定性结果、缺失年份和同日歧义保留分组或断点,不跨条件连接。没有可绘制数值单位的结果使用年度状态时间带,保留“阴性”“阳性”“±”或原文及原报告释义。图表数字描述记录,不生成风险评分或疾病诊断。移动端按可用宽度绘制,减少运动偏好关闭空间过渡,仍允许主动逐年回看。

图表与最近异常、回到参考范围、待解释、全部指标列表联动,支持名称搜索;筛选未包含当前图表指标时明确显示当前选择,可一键在列表中显示。可进入完整趋势或当前原报告,个人档案仅使用已载入历史,不冒充完整十年数据。

趋势页可筛选近 1 年、3 年、5 年、10 年或全部已载入时间;每次独立获取该指标 200 条历史结果,可继续加载更早记录。切换指标或档案时,旧请求的分页结果不会追加到新选择中。不同单位不静默换算,不把绝对变化换成疾病概率。

风险提示与体检建议

风险页呈现基于已载入记录的复核线索,包括当次适用范围外结果、缺少判读条件、可比较的连续变化、主题相关结果和近期设备数据质量提示。连续三次上升仅在末次结果偏高时提示对应趋势;连续下降且末次偏低另行提示,避免将从低值恢复误写成高值加重。

每条提示显示实际结果、日期、测量条件和依据,可进入原记录或建立跟进计划。旧体检报告不触发“当前急症”。未触发本版规则不表示排除健康风险。

体检建议先关注异常结果复核与缺失背景,再提供适用性讨论。肺癌和结直肠癌卡片明确引用中国 2024 年方案,分别列出已知年龄信息、仍缺少的高危因素与既往筛查史,以及符合条件后可讨论的检查方式。满足卡片年龄窗口只会触发“适用性待确认”,不会自动开检查单、填入武断指标或标记筛查逾期。其他人群与其他癌症可能适用不同筛查方案。

参考区间、诊断界值、治疗目标和危急值是不同概念。个人结果使用经本人核对适用性的原报告范围;缺少范围时不直接套用知识库案例。平台没有总健康分、疾病概率、自动诊断或用药调整功能。

行动计划与就医摘要

行动计划可以来自报告、风险提示、体检建议,也可以手动建立。每项计划保留标题、依据、关联报告与指标、参考来源、日期、进展备注、创建与更新时间,以及完成时间。

状态包括“待与医生讨论”“已计划”“已完成”“已归档”。再次从同一条建议进入时,会打开原有计划并保留日期、状态与备注。只有用户设置的计划日期过去,才显示“已过计划日期”;未知筛查史不会自动变成逾期。完成后的普通编辑保留完成时间,重新开启计划会清除该完成标记。

保存计划时校验版本。旧窗口不会覆盖另一个窗口已经保存的计划。进展备注保存当前内容;本版没有逐次追加、不可更改的计划备注历史。

“导出就医摘要”生成可打印 HTML,包含个人背景、待沟通发现、每个指标最近检查日的结果、已核对的原报告文字结论与建议、行动计划、设备资料与参考来源。文字结论保留日期、报告名称、类型、领域、检查部分和页码,未核对候选不进入摘要。打开后可通过浏览器打印保存 PDF。个人文字会转义,文件不执行脚本。摘要明确写出当前载入数量与总量,并标明未载入历史,不包含原始附件。它是沟通摘要,不是完整电子病历。

“导出当前载入档案”生成 JSON,同样只覆盖当前总览已载入的数据。需要某份报告完整内容时使用报告详情或版本下载;需要某个指标更早结果时在趋势页继续加载。

设备数据与时效

支持按设备接收和展示 14 类结果,包括心率、血氧、收缩压、舒张压、呼吸、睡眠及其细分、活动、步数、压力和 PRV。结果保留实际采样时间、质量、静息 / 运动 / 睡眠情境、来源、方法、算法版本、用途声明及统计窗口。睡眠总结和累计步数明确按窗口解释,不视作瞬时测量。

总览、风险页和设备页打开期间每 30 秒拉取已保存数据,也可以手动刷新。状态显示最近接收与采样时间。超出展示时效、低质量、未知质量、演示或未来时间的数据不会标成可用当前数据;曲线对较长缺口断开,累计指标跨日分开。这里的时效窗口是产品展示规则,不是医学阈值或连续监护保证。

同一设备中不同来源、方法、算法、情境和窗口分别保留序列;多设备提醒互不覆盖。血压配对需要来自同一设备、同一时间、同一序列与相同质量条件,否则只显示实际收到的收缩压或舒张压。

设备密钥有效期 90 天,仅创建或更新时展示一次,服务端只存摘要。可“更新密钥”使旧密钥失效,或“停止凭据接入”保留历史记录;另一个删除操作才会撤销设备并删除其历史。设备用途与质量字段由上传方提供,平台尚未独立认证型号和医学准确性。

消费者血氧估计受测量条件影响,不能单独作为诊断。严重症状优先寻求医疗帮助,不等待重新测量。普通压力分数、深睡比例和 PRV 不设跨设备通用疾病警戒线。

本版提供文件导入和通用设备 API,没有预先连接 Apple Health、Health Connect、华为、小米或其他具体品牌 SDK,也没有主动短信、后台连续监护或急救转接。

原始 PPG 工具

原始 PPG 工具接受 20–1000 Hz 的等间隔单通道数组,单次最多 120,000 点。至少 15 秒用于探索性脉率,至少 60 秒且通过基础波形检查时才展示 PPG-PRV RMSSD。随附 75 秒、100 Hz 合成波形,用于流程验证。

该工具尚未完成设备、人群与临床验证,不写入临床检查结果,不以 PRV 替代 ECG-HRV,也不由单通道波形生成未经验证的血压、血氧、睡眠分期或压力。接真实设备需要型号、SDK 或协议、脱敏样本、采样规则、质量定义、算法用途与授权方式。

医学图谱与 Neo4j

知识页使用 Cytoscape.js 浏览关系、来源、指标与条件化参考案例;个人图谱修订以追加版本保存。可按图谱原始节点和关系导出,不将泛化知识直接等同于个人诊断。

Neo4j 管理保留既有 HTTP 适配器、Cypher 导入脚本、校验脚本与完整数据包。上一版已在真实 Neo4j Community 5.26.31 验证全量导入、重复导入幂等和适配器查询。临时验证实例已经停止;当前云端 Neo4j 尚未配置,平台会明确显示目录模式,不能把本地验证结果当成已连接的生产数据库。

打开 Neo4j 使用说明 · 下载 Neo4j 完整包 · 下载原始图谱 JSON

数据对象与读取范围

对象内容保存位置
Profile个人背景、参考解释条件profiles
Report元数据、当前版本、附件引用、details 补充内容reports 与原始文件
ReportDetails已核对的文字结论、当次报告基本信息、提取页数与版本reports.details JSON;同时写入版本快照
Observation指标、结果、单位、当次范围、方法、情境、来源页码 / 检查部分 / 原文标记observations
ReportRevision完整旧值与新值快照、原因、版本report_revisions
Device设备身份、密钥摘要、到期时间devices
WearSample实際采样结果、质量、来源与统计窗口wearable_samples
Plan日期、状态、依据、关联记录、备注与版本health_plans
GraphRevision私有图谱修订与版本graph_revisions

新增迁移 0004_report_details.sql 为 reports 添加非空 details 文本列,默认值为 {}。应用读取旧报告时补成空结论列表,无需重导既有报告。新建与修订同时保存当前 details 和不可变快照;新版本应用启动前需对相应数据库应用迁移。

总览一次载入最多 200 份报告、5,000 条检查结果、3,000 条设备记录和 500 项计划,并返回实际总数。总览画像、提示与导出基于这一窗口。报告详情独立读取全部结果;趋势通过指标分页读取更早记录。报告列表、设备历史与计划尚无无限分页,超出当前窗口的完整归档仍需进一步扩展。

接口与对接

接口功能
GET /api/health个人档案、读取上限、实际总数与同步时间
POST /api/health保存个人资料与计划;创建设备、更新密钥、停止密钥接入
POST /api/reports核对后新建报告,原文件可选
GET /api/reports/:id下载本人原始附件
GET /api/reports/:id?format=json独立读取当前报告完整快照
GET /api/reports/:id?history=1读取最近 100 次版本的元数据
GET /api/reports/:id?revision=N读取指定版本完整快照
PATCH /api/reports/:id携带 expectedRevision 与 changeReason 修订
DELETE /api/reports/:id删除该报告、结果、版本与附件
GET /api/observations?indicatorId=ID每页 200 条结果,返回 beforeDate / beforeId 游标
POST /api/wearable登录用户导入自己设备的数据
DELETE /api/wearable撤销设备并删除其记录
POST /api/device-ingest使用独立设备密钥的外部网关接入

报告使用 multipart/form-data,data 为元数据、已核对结果 observations 与报告补充内容 details 的 JSON,file 可选。details.findings 是已核对的文字记录,subject 是当次报告基本信息,extraction 是提取版本与总页数 / 文字提取页数 / OCR 页数;各类型使用固定枚举、有限长度与页码校验。零条 observations 仅在至少一条有效且已核对的 finding 存在时允许。计划保存需要 expectedRevision;新建为 0。报告和计划旧版本冲突返回 409;超长结构化报告在写入前返回 413。

设备每批 1–80 条,带时区的 ISO 8601 时间转换成 UTC 保存,按浏览器本地时区展示。超前超过 5 分钟的采样拒绝接收;容差内的未来时间也不立即作为当前可用数据。重复的同用户、设备、指标与时间记录忽略,便于安全重试。窗口限定 0–604800 秒。

私有平台网关需要平台服务访问凭证,以及独立的设备 Bearer 密钥。OAI-Sites-Authorization 用于访问层,不能代替用户身份;设备 token 绑定具体用户与设备。凭证不能嵌入网页、源码或公开文档。全程参数化 SQL,用户身份从服务认证上下文取得。

客户端按能力检测注册 3 个 WebMCP 工具:读取可见摘要、切换现有页面、打开报告核对。工具不会绕过可见核对步骤直接保存。未支持 WebMCP 的浏览器仍可使用普通页面。

验证状态与已知边界

本轮 node scripts/run-health-tests.mjs 的 91 项规则、解析、PDF 几何处理和接口校核通过,并完成 TypeScript 检查。接口校核执行真实应用路由和 SQL,数据库为 Node SQLite 临时测试库,认证与文件存储为测试替身。测试覆盖核对门禁、纯文字报告、字段边界、来源保存、修订与版本冲突、用户隔离、分页、密钥更新、超长保护及摘要转义,不等同于生产用户端到端验证。

本轮已完成本地浏览器提取、取消、保存、修订、原页对照和总览展示检查,并验证桌面及移动视口。真实五页扫描报告已完成本地提取,但中文名称与单位仍有误识别,保留为待核对内容;详细结果见 docs/VALIDATION.md。生产构建通过,本地应用运行中,本次没有执行云端发布。先前 OCR 合成样本和 Neo4j 验证记录单独保留。

详细测试方法和限制位于工程 docs/VALIDATION.md。真实报告准确率、设备临床准确性和风险规则有效性,需要独立的真实数据、硬件与临床验证。

主要依据

MedlinePlus:理解检验结果与参考范围 支持按当次机构范围、方法与检查背景解释结果;范围内外不能单独代表健康或疾病。

FDA:脉搏血氧仪基础 说明读数和测量条件、设备用途与当前症状应共同考虑。

国家卫生健康委 2024 年肺癌及结直肠癌筛查方案的卫生部门全文发布 用于本版相应适用性讨论卡,不代表全部人群和癌症的筛查目录。

Cloudflare D1 限额 用于约束单行快照尺寸、SQL 参数与分组写入;本版主动采用更小的结构化报告上限。

本地扫描报告核对补充

未匹配名称可查看相似指标候选,必须点击确认才匹配;不会据此自动更改结果或单位。也可以将未匹配项目连同当前录入值和原文保留为文字记录。原 PDF 通过本地画布按页显示,识别可取消,单步骤超过 120 秒会提示重试或拆分。真实扫描样本仍有明显中文和单位误识别,自动候选不等于经过确认的健康记录。

2026-10-05 报告上传与分析完善

上传后的保存检查清单分别检查报告信息、结构化指标与文字结论、人工核对确认、登录账户。缺单位或无法匹配的项目可保留为文字记录,保留原始措辞及来源,不自动猜单位。

核对草稿和附件保留在当前浏览器 IndexedDB,sessionStorage 仅记录当前标签页的随机草稿 ID;新报告与每份报告的修订使用独立位置,最后暂存后 24 小时过期。刷新后提供恢复入口,登录续接不整页刷新;暂存失败保留编辑器并说明原因。已归属账户的草稿不能被另一个账户读取或保存,提交前和服务端均校验预期账户。保存成功清理草稿,清理失败可重试。

报告分析在预览和已保存页面复用:展示结构化结果、范围外结果、暂不能解释项目、文字类型与领域覆盖,优先展示需核对结果并保留日期、范围、方法与原文。预览明确标为待核对,不改变 verified 状态或生成健康评分。

解析修复涵盖中文带空格日期、定性符号和不等式、编号化验行、文本 PDF 双栏,以及 CSV 重复表头/错列。符号无明确释义时保持未知,原报告异常标记单独保留。无附件去重纳入方法、情境及来源;重复上传可定位已有报告。

2026-10-11 Blender 人体健康画像

“你的健康画像”新增默认“人体画像”维度。本机 Blender 5.2.2 从 qiguanshenti/Skeleton_Anatomy_Nervous_Rigged_2-81.blend 导出通用人体 GLB,通过按需载入的 Three.js 查看器旋转、缩放、前后观察和选择部位。骨骼、器官、神经独立显示;心脏、肝脏、双肾、胰腺和甲状腺连接现有健康领域。血液、体重与代谢、其他检查通过全身或非定位入口浏览。

颜色使用已有已核对画像状态,保留报告范围、日期、原文、方法及来源跳转。人体形状为通用解剖参考,器官模型不代表个人影像或诊断。账号或演示/个人模式切换重建画像;仅在交互、尺寸或记录改变时重绘。手机提供“查看对应记录”入口,模型与领域按钮支持键盘操作。

原始 blend 保持原样;烘焙、简化和旧坐标修复在导出副本完成。最终 GLB 为 6.05 MiB、328 网格、321,786 三角形,米制 Y-up、正面 +Z。脚本在 scripts/blender/,资源和重建说明在 public/anatomy/。加载可取消并有超时;WebGL 不可用时显示 Blender 静态参考图并保留领域导航。

2026-10-11 场景部件与交互优化

继续从原始 Blender 场景的真实对象与父级构建 schema v2 目录:8 个解剖系统、30 个部位,包含双肺、血管、消化道、脑、脊髓、骨骼和眼部结构。每个系统与部位保留实际网格引用和 glTF 世界边界;跨系统结构保留多个系统标签,选择时按真实网格开启需要的图层。资产为 328 网格、321,301 三角形、6.31 MiB,原文件散列不变。

浏览系统或选择部位可根据实际范围切换近景;支持全身、躯干、头部、背面与单独显示。默认保留各部件的解剖 PBR 配色,可切换为健康记录状态。每个网格独立克隆材质,防止共享材质互相覆盖高亮与透明度;周围结构在部位近景中淡化,骨骼不透明度可调。标签使用两侧布局与连接线,避让工具栏并保持相邻标签间距,可隐藏。

部位目录用于浏览通用解剖结构。只有既有五个健康领域的明确映射触发健康记录联动;其他部位明确提示尚未关联健康记录,不推断病变。R 键同步清除焦点并恢复全身,窗口尺寸变化按当前视图适配。渲染仍只在交互或状态变化时执行。

心脏保留原场景完整 UV,并将本地 Heart.jpg 色贴图嵌入 GLB;旧式着色器在导出副本转换为标准 PBR。记录状态模式临时移除色贴图、使用清晰的状态色,切回解剖配色时恢复。原高度贴图没有被误用为 glTF 法线贴图。

2026-10-11 异常指标可视效果

人体健康画像采用七种记录信号:high(数值偏高)、low(数值偏低)、mixed(偏高与偏低结果并存)、flagged(定性异常或原报告异常标记)、unknown(信息待核对)、recorded(已有记录)、empty(暂无记录)。信号来自各指标最近检查日的已核对结果;同日多条分别保留,不以其中一条覆盖其他结果。偏高与偏低数量仅统计数值结果,定性异常归入异常标记,不计入数值方向数量。原报告范围、日期、方法和来源保持可追溯,不依据视觉强度猜测严重程度。

五个实际映射器官域在启用异常效果时,按真实可见网格范围显示独立 SVG 标识:偏高为红色实线,偏低为蓝色虚线,高低并存使用双色,异常标记为琥珀色点线,信息待核对为紫色静态虚线。仅 high、low、mixed、flagged 产生固定 0.28 的网格 emissive;未知、已有记录、空记录及单纯选中不发光。已有记录与空记录没有 halo。效果按真实网格世界边界投影,随镜头旋转、缩放及图层改变更新;血液、身体测量和其他检查保留全身或非定位入口,不将其异常映射到任意器官。

异常效果开关独立于标签开关。解剖配色保留原心脏贴图与部件材质,记录状态配色按上述信号采用平色;切回解剖配色恢复贴图。WebGL 仍按交互与状态变化重绘,不增加连续渲染循环。CSS 动画在画布远离视口时暂停;系统要求减少动态效果时停止动画,保留静态符号和线型。未知状态保持静态提示,不借用缺失的报告参考范围。

检查结果下拉框与结果列表可联动所选领域、器官近景及右侧原始结果行;选中行明确高亮,并保留报告来源按钮。选中结果不在默认前四条中时额外展示对应行。桌面仅在右侧详情实际可滚动时定位该容器;手机由用户点击查看完整记录后进入详情。离开“人体画像”维度会清空选中结果,避免返回后残留过期的行选择。

2026-10-11 十年演示档案与尺寸追踪

演示档案包含每年 70 项检查、30 条已核对合成结论;检查日期采用最近已经到来的 9 月 18 日及此前九年,避免未来报告。当前为 2017–2026 年。数值覆盖糖代谢、血脂、血压、肝肾功能、血常规、甲状腺、体格和尿检;全部 70 项在十年内至少有一次经过原始结果、单位和报告范围判读的增高、降低或定性异常。最新报告保留 56 项明确异常(30 项增高、23 项降低、3 项定性异常)、10 项范围内、2 项定性与参考一致及 2 项符号待释义,避免把未知值当作正常或恢复。

合成轨迹包括 HbA1c 后六年持续范围外;血小板与 FT3 后期降低;LDL、尿酸、载脂蛋白 B、心率与亚硝酸盐此前异常、最近回到示例参考;AST、ALP、尿白细胞与尿糖再次范围外。心率兼有增高和降低记录。尿潜血早期明确阳性、最近两年为 ±,保留待释义状态;不人为添加报告异常标志或把变化归为诊断。pnpm health:demo 对全部指标的异常覆盖和最新状态计数执行真实 assess 校验。

在“你的健康画像”按年份回看检查记录,并在“时间趋势”点击检查点同步切换。每项指标保留截至所选日期最近检查日的全部结果,同日多条结果不任选一条作为最后采样。设备、个人资料和计划保留自身时间;报告与指标缺失年份在曲线上留空。完整历史指标图按单位、机构、方法和情境分别绘制,可比条件不足时仅显示点。

四处影像记录由显式追踪编号连接:右叶甲状腺结节 A 长径从 4.1 增至 10.6 mm;左叶甲状腺结节 D 从 6.1 减至 4.1 mm;右上肺结节 B 包含未见与未提供尺寸的年份;左肾囊性灶 C 近似稳定并含 cm 单位原记录。尺寸计算统一为 mm,原始单位及明确记录的各径线仍保留。同日记录、部位、侧别与亚区、参照结构、健康领域、方法或机构变化时不计算合并差值。未见、未测量与缺失径线均不补造零值。

选择影像追踪后,左侧使用本地 Blender 项目的真实器官网格近景,右侧并列显示当次与首次尺寸、径线曲线及逐次来源。三维标记默认按报告尺寸与通用器官的原始比例绘制,可明确切换为 3 倍放大示意;“镜头近景”仅改变相机,不改变尺寸比例。粉色为所选记录,蓝绿虚线为可比首次记录。只有长径时画尺寸线,两径时画测量平面,原文明确第三径时才画三轴尺寸示意。二维对照图在同一条追踪记录的全部年份采用统一绘图比例,并分别标注长短径。原始 blend 和 GLB 保持不变。

tracking.location 明确记录器官、患者左右侧、器官亚区及 report-described / synthetic-demo 依据,校验与对应器官、源网格的一致性。不从文字推断坐标;无定位、侧别或亚区不完整时,降级为器官或侧别参照,保留外部尺寸记录而不绘制器官内定位点。有完整亚区时,在真实网格该侧与亚区内搜索进入/离开表面的交点,并以内部射线奇偶检验确认参考点;无法确认时隐藏定位点并解释原因。Blender 为 Z-up、正面 -Y,网页 GLB 为 Y-up、正面 +Z;患者左侧为 +X,右侧为 -X。肺上/中/下叶依据只约束整体肺网格中的近似区域,模型未分割肺裂。

演示甲状腺 A 的 2017–2019 年只有两径,之后测量年份明确三径;其余三条轨迹含三径,所有新增数据仍为合成示例。通用模型亚区位置与三轴形状不能表达个人影像坐标、真实结节形态、测量轴向、体积或风险。

ReportFinding.tracking 为可选结构化资料;导入、保存、读取、去重及历史修订完整保留关联编号、部位、方法、测量状态、原尺寸和单位。JSON 导入仍重置为待核对,核对界面展示这些字段,可移除关联;修改原文会自动清除旧追踪,保留文字并提示。不会从 OCR 文字自动推断同一处结节。

可在演示档案回看栏下载 /samples/ten-year-demo-reports.zip,包含 2017–2026 年十份可分别导入的 JSON 和中文说明。pnpm health:demo 重新生成固定 2026-10-12 锚点的下载包,并逐份验证 70 项结果、30 条文字结论及待核对状态。演示档案仅在页面会话保留,不写入个人账户。

2026-10-12 身体系统与器官细分

身体系统由 8 类扩展至 19 类,包括糖代谢与内分泌、心血管、肝胆、肾脏、血液、体格营养、甲状腺、呼吸、消化、泌尿、神经认知、骨骼肌肉、免疫感染、眼、耳鼻咽喉、口腔、生殖乳腺、皮肤及综合未分类。共有 51 个命名器官或项目分组,另为每个系统保留未明确分组。现有 868 项医学目录按实际项目名称、分类及明确覆盖规则各归属一个系统和项目组;项目目录是资料整理入口,没有资料的项目显示“尚无记录”。

身体系统页增加系统、器官或项目搜索,以及全部、有记录、指标需关注和尚无记录筛选;选中系统后,可继续查看单一器官的数值、原报告文字、检查日期、关联报告和趋势,再展开相应检查目录。系统指标和异常按指标去重,同日多个结果逐条保留;待核对、未来或无效日期的资料不产生系统覆盖。系统覆盖和文字结论数量描述已载入记录,不作为当前健康程度。

报告结论可保存可选 organId,核对页支持选择系统及器官;改变系统清除旧器官标签。导入、服务端保存、读取和摘要保留新分类,拒绝器官与系统不匹配的标签。旧“其他”结论仅在明确标题、检查部分或已记录追踪部位能确定时细分;跨多个器官的总评保留综合分类,原文不改写。唾液淀粉酶等明确不同来源的同组项目单独归属,不借用邻近器官。

十年合成演示扩展为 70 项指标、700 条数值或定性结果、300 条原文结论,18 个非综合系统都有记录。肺功能、消化、免疫、骨代谢、视听、口腔、认知及生殖指标加入原有异常、回落、波动和待解释轨迹,原四处影像追踪编号和尺寸保持不变。

人体可视化继续使用既有 Blender 导出网格,运行时从真实源对象扩展为 41 个部位、10 个解剖导航组,增加牙齿、唾液腺、阑尾、尿道、自主神经和四肢等结构。系统与项目导航只关联实际存在的网格;皮肤、生殖器官、耳及其他未建模部位保留记录并说明范围,不用其他器官替代。结节位置与尺寸逻辑保持兼容,原始 Blender 与 GLB 文件未修改。