安阳县直医院学生体检信息化管理系统功能明细
本文件依据现有前端、后端、数据库及设备接入代码反向整理,完整描述学校集中体检、初升高毕业生体检、社会散检和补检业务。系统已覆盖学生建档、批次管理、导检单、医生扫码采集、身高体重秤、欧姆龙血压计、Topcon RM-1 屈光仪、复测质控、个人报告、腾讯云 TokenHub Hy3 健康提示、家长查询、规范化导出和安全审计。
项目概述
依据现有系统代码、数据库结构和现场设备接入逻辑整理现行功能边界。
1.1 系统定位
本系统面向医院组织实施的学生健康体检业务,以体检批次和学生体检编号为主线, 将学校、年级、班级、学生档案、特殊人群、导检单、医生项目权限、现场设备采集、 复测质控、报告生成、家长查询、数据导出和日志审计纳入统一业务平台。
统一维护学校、年级、班级、在校学生、初升高毕业生、散检人员和其他临时体检对象。
医生扫码识别导检单,按授权项目进入采集页,支持蓝牙自动采集和手动录入兜底。
血压计和屈光仪建立医院设备台账、医生绑定关系、连接状态、最后使用时间和审计记录。
同一项目可保留首次测量和复测记录,记录复测原因、采集方式、设备身份及最终采用值。
根据体检结果生成个人报告,通过腾讯云 TokenHub Hy3 逐条生成健康提示,并支持人工复核。
围绕账号、接口、页面、导出、报告、设备和AI调用建立权限、脱敏、日志及防伪追溯机制。
1.2 能力概况
| 业务域 | 能力 |
|---|---|
| 基础档案 | 学校、年级、班级、学生档案、特殊人群、Excel 批量导入、导入历史与失败明细。 |
| 体检业务 | 批次、批次学生、体检项目、导检单、体检记录、复测记录和最终采用值。 |
| 设备接入 | 身高体重秤、欧姆龙 J735 单工位/双工位、Topcon RM-1 + IRXON BT578V2。 |
| 报告服务 | 个人报告、AI健康提示、复核开放、家长查询、报告防伪与追溯。 |
| 数据治理 | 规范化筛选、查询后导出、明文导出复核、日志审计、敏感信息脱敏。 |
系统范围
系统由医院总后台、微信小程序、医生网页端和复核质控端组成,公共接口和任务程序由后端统一支撑。
| 系统端 | 现行功能 | 主要使用对象 |
|---|---|---|
| 医院总后台 | 工作台、基础档案、学生导入、体检批次、项目配置、导检单、体检记录、复测记录、医生账号、设备分配、复核账号、后台权限、报告、AI任务、TokenHub配置、统计导出、日志审计和系统设备配置。 | 医院管理员、体检中心管理人员 |
| 微信小程序 | 医院首页、家长报告查询、医生登录与找回、医生工作台、设备状态、扫码体检、各项目采集、单工位/双工位血压采集、屈光仪自动取数、复测提交和报告查看。 | 现场医生、学生家长 |
| 医生网页端 | 医生工作台、个人资料、授权项目记录、设备测量记录、异常记录和本人业务统计。 | 医生账号 |
| 复核质控端 | 异常记录复核、报告复核、AI健康提示复核、导出申请复核、操作日志查看和报告预览。 | 复核质控医生、医院质控人员 |
| 公共接口与任务程序 | 账号鉴权、扫码解析、设备绑定、体检提交、报告查询、防伪验证、AI任务处理、报告任务处理和运行环境检查。 | 系统内部调用、运维人员 |
角色与权限设计
通过分角色、分项目、分数据范围控制,保障业务操作边界清晰。
3.1 角色分类
| 角色 | 职责说明 | 登录入口 | 权限边界 |
|---|---|---|---|
| 总后台管理员账号 | 负责系统配置、基础数据管理、体检批次、医生账号、复核质控账号、导检单、报告、导出和日志审计。 | 网页端总后台登录 | 可管理全部业务数据;敏感信息查看、明文导出、报告开放等操作需按权限、二次确认和日志控制。 |
| 医生账号 | 负责现场项目采集、设备连接、手动录入兜底、复测提交和本人项目数据查看。 | 小程序端登录、网页端医生后台登录 | 仅能查看和操作本人授权的体检项目;不能越权查看无关项目和非必要敏感信息。 |
| 复核质控医生 | 负责异常数据复核、复测确认、最终采用值确认、AI健康提示复核、明文导出复核和报告开放复核。 | 网页端复核质控登录 | 可查看质控所需的多项目数据;所有复核、修改、驳回、通过操作必须留痕。 |
| 家长访客 | 在手机上通过微信扫一扫导检单二维码,或在小程序报告查询入口验证学生信息后查看学生报告。 | 微信扫码、小程序报告查询入口 | 仅能查看验证通过且已开放的单个学生报告;不能查看其他学生和后台数据。 |
3.2 医生项目权限跳转机制
| 体检项目 | 权限编码 | 扫码后页面 | 采集字段 / 页面内容 | 限制规则 |
|---|---|---|---|---|
| 既往重要病史 | medical_history | 既往病史采集页 | 基础信息核验:学校名称、年级、班级、学籍号、姓名、性别、出生日期。 项目字段:肝炎、肺结核、先天性心脏病、肾炎、风湿病、其他病名称。 |
支持多选和备注;病史数据属于敏感信息,页面和导出需按权限控制。 |
| 形态 | morphology | 形态检查采集页 | 基础信息核验:学校名称、年级、班级、学籍号、姓名、性别、出生日期。 项目字段:身高、体重、BMI、体型判定、检查医生、测量方式、设备信息。 |
可接入身高体重设备;仅能提交形态项目数据。 |
| 眼科(含屈光) | ophthalmology | 眼科检查采集页 | 基础信息核验:学校名称、年级、班级、学籍号、姓名、性别、出生日期。 项目字段:右眼裸眼视力、左眼裸眼视力、右眼屈光镜 S、右眼屈光柱镜 C、右眼屈光轴位 A、左眼屈光镜 S、左眼屈光柱镜 C、左眼屈光轴位 A、是否为角膜塑形镜(OK镜)佩戴者、沙眼、结膜炎、色觉、测量方式、设备信息。 |
屈光字段统一归入眼科项目;可接入屈光仪,设备采集失败时支持手动录入兜底并记录采集方式。 |
| 五官 | ent | 五官检查采集页 | 基础信息核验:学校名称、年级、班级、学籍号、姓名、性别、出生日期。 项目字段:耳、鼻、扁桃体、龋齿。 |
默认正常;异常时需选择异常类型或填写说明。 |
| 机能 | function_exam | 机能检查采集页 | 基础信息核验:学校名称、年级、班级、学籍号、姓名、性别、出生日期。 血压字段:血压单位 mmHg、收缩压/高压、舒张压/低压、脉搏、测量时间、测量方式、设备信息、异常标识、原始数据。 |
可接入欧姆龙 J735;血压异常、设备异常、体动、不规则脉搏、袖带异常、房颤等标识触发复测或复核提示。 |
| 内科 | internal_medicine | 内科检查采集页 | 基础信息核验:学校名称、年级、班级、学籍号、姓名、性别、出生日期。 项目字段:心、肺、肝、脾。 |
默认正常;异常项需记录异常内容、医生意见和备注。 |
| 外科 | surgery | 外科检查采集页 | 基础信息核验:学校名称、年级、班级、学籍号、姓名、性别、出生日期。 项目字段:头部、颈部、淋巴结、胸部、脊柱、四肢、皮肤。 |
默认正常;异常项需记录异常内容、医生意见和备注。 |
| 结核分枝杆菌感染检测 | tb_screening | 结核筛查采集页 | 基础信息核验:学校名称、年级、班级、学籍号、姓名、性别、出生日期。 项目字段:筛查日期、密切接触史、可疑症状、TST横径纵径、双圈、水疱坏死或淋巴管炎、胸部X光片结果、备注。 |
按筛查表单完整采集;涉及阳性、异常、疑似结果时进入质控复核流程。 |
| 质控复核 | quality_control | 学生体检总览 / 质控复核页 | 基础信息核验:学校名称、年级、班级、学籍号、姓名、性别、出生日期。 质控内容:查看学生全部项目完成情况、异常项、复测记录、最终采用值、AI健康提示和报告生成状态。 |
复核质控端和总后台均可执行复核;所有操作必须留痕。 |
核心业务流程
从基础建档、设备登记到现场采集、质控和报告开放形成完整闭环。
4.1 标准业务步骤
- 总后台维护学校、年级、班级和体检项目基础资料。
- 新增学生档案或通过 Excel 批量导入在校学生、初升高毕业生和散检人员;系统记录导入批次、成功明细和失败原因。
- 创建体检批次,设置体检类型、日期、项目范围、报告开放和 AI 健康提示规则。
- 将学生加入批次,系统生成体检编号、导检单编号和导检单识别凭证。
- 总后台单个或批量打印导检单;二维码仅承载可校验识别凭证,不直接写入敏感身份信息。
- 后台配置医生项目权限,并根据现场工位分配欧姆龙血压计或 Topcon RM-1 屈光仪。
- 医生在小程序工作台完成设备连接;设备身份、绑定关系和当前连接状态同步到系统。
- 医生扫描导检单,后端校验账号、批次、学生、项目权限和项目完成状态。
- 系统进入授权项目采集页,设备项目自动接收数据;设备异常时可使用手动录入兜底。
- 首次提交形成体检记录和测量明细;再次提交要求填写复测原因,并保留历史测量。
- 复核质控端处理异常数据、复测结果、AI健康提示、报告开放和明文导出申请。
- 报告任务生成个人报告,AI任务按队列逐条生成健康提示;完成复核后开放家长查询。
- 家长通过导检单二维码或小程序查询入口完成身份验证,查看已开放报告和防伪信息。
- 后台按批次、学校、年级、班级、学生、项目和状态筛选统计并规范化导出。
医院总后台功能
总后台采用顶部大菜单和左侧二级菜单结构,覆盖基础档案、体检业务、账号权限、体检报告和安全配置。
- 学校、学生、批次、报告和设备总体统计。
- 当前批次体检进度、项目完成率、异常与复测数量。
- 报告生成、AI任务和报告开放状态提示。
- 新增、编辑、停用和条件查询。
- 年级按学校关联,班级按学校和年级联动。
- 查询结果可按正式表格样式导出。
- 新增和编辑采用弹窗表单,提交期间锁定按钮,防止连续点击重复入库。
- 管理在校学生、初升高毕业生、散检人员和其他临时体检对象。
- 支持体检编号、导检单编号、学籍号、姓名、性别、出生日期和联系方式。
- 特殊人群的学校、年级、班级和学籍号可为空。
- 支持按姓名、体检编号、导检单编号及组织维度查询。
- 提供规范 Excel 模板和正确示例数据。
- 按学生类型校验必填字段,支持新增和更新。
- 记录原始文件名、SHA-256摘要、有效行数、成功数、失败数、操作人和导入时间。
- 保留逐行成功/失败明细、原始字段 JSON 和失败原因,便于追溯。
- 配置批次名称、体检类型、日期、项目范围、报告开放和AI开关。
- 按批次批量关联学生,支持查看已加入和未加入人员。
- 批次学生页面提供生成导检单和前往打印的完整操作链路。
- 维护既往病史、形态、眼科、五官、机能、内科、外科和结核筛查项目。
- 维护项目编码、显示名称、蓝牙设备需求、启停状态和字段规则。
- 字段注释、单位、默认值、异常选项和校验范围统一管理。
- 生成导检单编号、识别凭证和二维码。
- 支持单个打印、按批次批量打印和打印状态管理。
- 导检单展示学生核验信息、体检项目、二维码及医院信息。
- 体检记录保存项目最终结果、采集方式、医生、状态和备注。
- 复测记录保存每次测量数据、设备身份、异常标识、原始报文和最终采用状态。
- 支持按导检单识别凭证、学生姓名、体检编号、批次和项目检索。
- 维护账号、姓名、身份证号、科室岗位、状态和密码。
- 一个医生可授权一个或多个体检项目。
- 支持按医生姓名和账号独立检索。
- 医生账号同时用于微信小程序和医生网页端。
- 欧姆龙血压计按医生和 A/B 工位管理设备台账与分配关系。
- Topcon RM-1 与 IRXON BT578V2 建立一一配套关系,并分配至眼科医生。
- 支持医生端首次配对自动登记、后台人工分配、解除绑定、停用和最后连接时间查看。
- 维护复核质控账号、姓名、身份证号、状态和说明。
- 支持报告、AI健康提示、导出申请和异常记录复核。
- 总后台管理员按功能权限控制菜单访问、查看和编辑能力。
- 查看个人报告编号、体检编号、学生、批次、学校、年级、班级及状态。
- 支持报告生成、预览、重新生成、复核和开放家长查看。
- 记录报告版本、生成时间、追溯码、防伪凭证和 AI 状态。
- 配置 TokenHub API 地址、API Key、Hy3 模型、超时、温度、Token、重试和规则回退。
- 直接维护 AI 健康提示词和自定义表达要求。
- AI任务支持待处理、处理中、成功、失败、待复核和已复核状态。
- 任务按顺序逐条执行,失败可重试,避免批量并发阻塞。
- 按组织、批次、项目、完成状态、异常状态和报告状态筛选。
- 导出学生档案、体检结果、异常名单、未完成名单和统计数据。
- 导出文件使用规范标题、字段顺序、列宽、日期和数值格式。
- 查询登录、扫码、录入、复测、设备绑定、报告、AI、导出和权限变更日志。
- 维护医院信息、报告参数、欧姆龙插件配置和公共系统参数。
- 关键配置变更执行二次确认并写入审计日志。
5.16 列表筛选检索与查询后导出
| 后台页面 | 现行筛选条件 | 配套能力 |
|---|---|---|
| 学校管理 | 学校名称、状态。 | 按查询结果导出;弹窗新增编辑;重复提交保护。 |
| 年级管理 | 年级名称、所属学校、状态。 | 按查询结果导出;学校下拉选择。 |
| 班级管理 | 班级名称、学校、年级、状态。 | 学校和年级联动;按查询结果导出。 |
| 学生档案 / 特殊人群 | 姓名、体检编号、导检单编号、学生类型、学校、年级、班级、性别、状态。 | 批量导入、导入历史、查询后导出。 |
| 体检批次 | 批次名称、体检类型、日期、状态。 | 查看批次进度、项目范围和报告规则。 |
| 批次学生 | 学生姓名、体检批次、学校、年级、班级、关联状态。 | 批量关联、生成导检单。 |
| 导检单 | 导检单识别凭证、学生姓名、体检编号、批次、学校、年级、班级、状态。 | 单个和批量打印。 |
| 体检记录 | 导检单识别凭证、学生姓名、体检编号、批次、项目、医生、项目状态。 | 查看最终结果和采集方式。 |
| 复测记录 | 导检单识别凭证、学生姓名、体检编号、批次、项目、医生、设备及采用状态。 | 查看原始数据、设备信息和最终采用值。 |
| 医生账号 / 项目配置 | 医生姓名、账号、科室岗位、项目权限、状态。 | 账号维护和项目授权。 |
| 复核账号 | 医生姓名、账号、状态。 | 复核权限和账号维护。 |
| 报告管理 | 报告编号、体检编号、学生姓名、批次、学校、年级、班级、报告状态、AI状态。 | 预览、复核、重新生成和开放。 |
| AI任务 | 与报告管理保持一致,并增加任务状态、模型和失败原因。 | 重试、查看返回内容和复核。 |
5.17 特殊人群处理规则
| 人员类型 | 学校/年级/班级/学籍号 | 系统识别方式 |
|---|---|---|
| 在校学生 | 按学校组织结构正常维护。 | 学籍号、体检编号、导检单编号和基础身份信息。 |
| 初升高毕业生 | 允许为空,可填写原学校和目标学校。 | 体检编号/导检单编号 + 姓名 + 性别 + 出生日期。 |
| 社会散检人员 | 允许为空,按散检类型建档。 | 体检编号/导检单编号 + 姓名 + 性别 + 出生日期。 |
| 补检或临时对象 | 按实际情况填写,不强制补造学校班级信息。 | 体检编号、导检单二维码和基础身份信息。 |
微信小程序端功能与页面
一个小程序同时承载医院展示、家长报告查询、医生登录、设备管理和现场体检采集。
6.1 小程序首页与未登录状态
| 页面 / 入口 | 展示内容 | 说明 |
|---|---|---|
| 小程序首页 | 医院简介、体检服务说明、报告查询入口、医生登录入口。 | 普通打开小程序时先进入首页,不要求家长登录;页面以医院形象展示和报告查询为主。 |
| 导检单二维码直达 | 扫描导检单二维码后,直接打开对应学生报告验证页面。 | 报告未开放时提示“报告暂未开放”;报告开放后完成学生信息验证即可查看。 |
| 学生体检报告查询 | 学生类型、学校、年级、班级、学籍号/体检编号、姓名、性别、出生日期。 | 家长普通打开小程序后,可通过信息查询孩子学生的体检报告;初升高毕业生、散检人员可不选择学校、年级、班级。 |
| 医生登录入口 | 账号、密码、忘记账号或密码。 | 医生登录成功后才显示体检模块、扫码采集、项目入口和历史记录。 |
6.2 医生登录与账号找回
- 医生在小程序体检模块内先采用账号密码登录,暂不建设手机号验证码登录。
- 医生账号同时支持小程序端登录和网页端医生后台登录。
- 登录后展示医生姓名、所属机构、负责项目、今日采集人数。
- 登录态与后端权限绑定,接口请求必须携带医生身份凭证。
- 医生忘记账号或密码时,可通过医生姓名和身份证号码找回账号或重置密码,找回过程需记录操作日志。
- 所有账号密码按当前需求采用 MD5 散列存储,并预留后续升级为更安全密码算法的字段空间。
- 工作台显示医生姓名、授权体检项目、今日采集数量和项目完成情况。
- 显示身高体重秤、欧姆龙血压计和 Topcon RM-1 屈光仪的真实连接状态,不以“扫描到设备”代替“已连接”。
- 未连接设备显示连接入口,分别进入身高体重秤、欧姆龙血压计和屈光仪设备页面。
- 已登记设备保存设备身份;同一小程序运行会话内保持连接,重新进入采集页可直接复用,冷启动后按登记信息自动重连。
- 欧姆龙支持单工位和 A/B 双工位;屈光仪支持医生首次配对自动绑定和后台预分配两种方式。
6.3 医生工作台与设备中心
6.4 扫码体检
- 调用小程序扫码能力识别导检单二维码。
- 后端校验二维码 token、学生状态、批次状态和医生权限。
- 扫码后展示学生基础信息核验字段:学校名称、年级、班级、学籍号、姓名、性别、出生日期。
- 根据医生项目权限进入对应体检项目采集页面;若医生拥有多个项目权限,则进入学生项目入口页后选择采集项目。
6.5 基础信息与体检项目字段
6.5.1 学生基础信息核验字段
| 字段分类 | 字段内容 | 说明 |
|---|---|---|
| 基础信息核验 | 学生类型、体检编号/导检单编号、学校名称、年级、班级、学籍号、姓名、性别、出生日期。 | 每个体检项目页面均显示,用于现场核验学生身份;医生端仅允许核验,不允许随意修改学生档案主数据。 |
| 特殊人群字段规则 | 初升高毕业生、社会散检人员、其他临时体检对象。 | 学校名称、年级、班级、学籍号改为选填;系统以体检编号/导检单编号 + 姓名 + 性别 + 出生日期进行核验和追溯。 |
6.5.2 既往重要病史
| 项目 | 字段内容 | 录入规则 |
|---|---|---|
| 既往重要病史 | 肝炎、肺结核、先天性心脏病、肾炎、风湿病、其他病名称。 | 支持多选;选择“其他”时需填写具体病名称;无相关病史时可选择“无”。 |
6.5.3 眼科与屈光检查项(统一归入眼科)
| 检查项目 | 采集字段 | 说明 |
|---|---|---|
| 裸眼视力 | 右眼裸眼视力、左眼裸眼视力。 | 支持手动录入或设备采集后回填。 |
| 右眼屈光 | 右眼屈光镜 S、右眼屈光柱镜 C、右眼屈光轴位 A。 | 按屈光仪返回数据或医生手动录入,保留原始数据。 |
| 左眼屈光 | 左眼屈光镜 S、左眼屈光柱镜 C、左眼屈光轴位 A。 | 按屈光仪返回数据或医生手动录入,保留原始数据。 |
| 常规眼科 | 沙眼、结膜炎、色觉。 | 默认正常;异常时选择异常状态或填写备注。 |
| OK镜 | 是否为角膜塑形镜(OK镜)佩戴者。 | 选项为“是/否”,用于报告提示和后续统计分析。 |
| 采集来源 | 测量方式、设备信息、原始数据、异常标识。 | 测量方式包括设备采集、手动录入、复测录入;便于追溯。 |
6.5.4 常规体检项目
| 分类 | 检查字段 | 默认值 / 判定规则 |
|---|---|---|
| 形态 | 身高、体重、BMI、体型判定、检查医生、测量方式、设备信息。 | 体型判定包括正常、超轻、超重、肥胖;可结合年龄、性别、身高体重规则自动判断,也支持医生确认。 |
| 五官 | 耳、鼻、扁桃体、龋齿。 | 默认正常;异常时选择异常状态或填写备注。 |
| 机能 | 血压 mmHg、收缩压/高压、舒张压/低压、脉搏、测量时间、测量方式、设备信息、异常标识。 | 参考正常值可在后台配置;系统根据规则判定正常、偏高、偏低,并对体动、不规则脉搏、袖带异常、房颤等标识提示复测或复核。 |
| 内科 | 心、肺、肝、脾。 | 默认正常;异常时选择异常状态或填写备注。 |
| 外科 | 头部、颈部、淋巴结、胸部、脊柱、四肢、皮肤。 | 默认正常;异常时选择异常状态或填写备注。 |
6.5.5 结核分枝杆菌感染检测
| 检查项目 | 采集字段 | 说明 |
|---|---|---|
| 筛查信息 | 筛查日期、既往有无肺结核患者密切接触史。 | 筛查日期必填;密切接触史选项为有、无、不详。 |
| 可疑症状 | 咳嗽咳痰大于等于2周、咳嗽咳痰小于2周、咯血或血痰、其他。 | 支持多选;选择“其他”时填写具体症状。 |
| TST检查结果 | 横径、纵径(mm)、双圈、水疱坏死或淋巴管炎。 | 横径、纵径为数值字段;双圈、水疱坏死或淋巴管炎为选项字段。 |
| 影像结果 | 胸部X光片结果。 | 支持正常、异常、未检查及备注说明。 |
| 备注 | 备注。 | 用于补充医生说明、复核意见或特殊情况记录。 |
医疗设备接入方案
设备接入已覆盖身高体重秤、欧姆龙血压计和 Topcon RM-1 屈光仪,并与医生账号、体检记录和复测记录关联。
7.1 设备接入总览
| 设备 | 接入方式 | 小程序页面 | 后台管理 | 状态 |
|---|---|---|---|---|
| 身高体重秤 | 微信小程序 BLE,按设备 JSON 串口协议接收、拼包和解析。 | pages/device/scale pages/exam/morphology |
系统与设备配置、测量记录 | 已接入 |
| 欧姆龙 J735 血压计 | 欧姆龙官方微信小程序插件,支持单工位和 A/B 双工位。 | pages/device/omron pages/exam/function pages/exam/function-dual |
血压计设备分配 | 已接入 |
| Topcon RM-1 屈光仪 | IRXON BT578V2 串口蓝牙适配器,微信小程序 BLE FFE1 透明传输。 | pages/device/refractor pages/exam/eye |
屈光仪设备分配 | 已接入 |
7.2 设备连接与状态管理通用规则
- 医生工作台显示设备真实连接状态、绑定状态和设备入口。
- “已登记”表示设备身份已保存,“已连接”表示当前小程序进程已建立连接并完成数据订阅,两者分开判断。
- 设备连接成功后保存设备名称、设备标识、服务特征、医院设备编号和最后验证时间。
- 同一小程序运行会话内在设备页、医生工作台和采集页之间切换时复用连接;冷启动后按已登记身份重新连接。
- 设备采集失败时允许手动录入,但必须保存采集方式、设备状态、操作人和必要备注。
7.3 欧姆龙 J735 血压计
| 功能 | 实现 |
|---|---|
| 官方插件 | 使用欧姆龙官方微信小程序插件,插件授权和小程序配置已纳入项目。 |
| 设备分配 | 后台维护设备台账,可将设备分配至医生 A/B 工位;医生端同步后台分配和本机连接状态。 |
| 单工位采集 | 医生连接一台血压计后,在单人采集页自动接收收缩压、舒张压、脉搏及设备异常标识。 |
| 双工位采集 | 支持 A/B 两台血压计按顺序准备和确认连接,双工位页面分别接收两名学生的数据,避免串台。 |
| 数据记录 | 保存测量时间、插件设备身份、工位、收缩压、舒张压、脉搏、体动、不规则脉搏、袖带和房颤等标识。 |
| 异常与复测 | 设备断开、结果异常或复检时提示重新连接/重新测量;再次提交必须填写复测原因。 |
7.4 身高体重秤
7.5 Topcon RM-1 屈光仪接入
7.5.1 硬件与通信参数
| 项目 | 现行参数与规则 |
|---|---|
| 屈光仪主机 | Topcon RM-1,屈光数据通过主机 RS232 串口输出。 |
| 蓝牙适配器 | IRXON BT578V2,支持蓝牙 V4.0 BLE;手机端使用 BT578_BLE,不使用经典蓝牙 SPP。 |
| BLE 特征值 | 串口透明传输特征值 0000FFE1-0000-1000-8000-00805F9B34FB。程序不固定服务 UUID,而是连接后遍历服务并验证 FFE1。 |
| 串口基准参数 | BT578V2 出厂参数为 9600 bps、无校验、8 数据位、1 停止位;适配器参数须与 RM-1 串口输出参数保持一致。 |
| 连接限制 | BT578V2 同一时间仅保持一个蓝牙主设备连接;使用小程序时不同时连接电脑串口蓝牙。 |
7.5.2 医生配对、设备登记与独占绑定
- 医生账号必须具备“眼科(含屈光)”项目权限。
- 医生进入屈光仪设备页,搜索附近 BT578V2;系统按设备名称、IRXON/BT578、FFE0/FFE1 广播信息和信号强度排序。
- 选择设备后先连接 BLE,再遍历服务和特征值;只有确认 FFE1 支持 Notify/Indicate 后才认定为有效屈光仪模块。
- 小程序将蓝牙名称、DeviceId、服务 UUID、特征 UUID 和终端标识提交后端确认。
- 后端优先匹配后台已建立的设备台账;首次出现的新模块可自动登记,并生成 RF-xxxx 医院内部设备编号。
- 一套 Topcon RM-1 + BT578V2 只允许绑定一个医生账号;一个医生眼科工位只保留一个 REF 屈光仪绑定。
- 已被其他医生占用、后台停用或与当前预分配设备不一致的模块,系统拒绝连接并写入审计日志。
- 管理员可在后台预分配、解除绑定、停用设备或维护主机序列号、蓝牙名称、DeviceId 和备注。
7.5.3 连接保持与自动重连
- 首次配对成功后,本机保存设备身份、服务特征和后台设备编号。
- 同一小程序进程内从设备页返回工作台或进入眼科页面时,不主动关闭 BLE 连接,持续保持 FFE1 通知订阅。
- 小程序冷启动后不会把历史缓存误判为当前已连接,而是重新建立 BLE 连接并再次订阅 FFE1。
- 眼科页面加载时自动尝试连接已绑定屈光仪;直连失败后自动扫描并优先匹配已登记的 DeviceId 或蓝牙名称。
- 连接完成后持续监听串口数据,不需要医生在小程序中点击“读取数据”按钮。
7.5.4 首次测量自动接收与串口分包处理
- BT578V2 通过 FFE1 Notify 主动推送 RM-1 串口数据,程序不主动读取特征缓存,避免把历史数据误认为当前学生结果。
- 接收层支持 BLE 多包拼接;遇到 ETX/EOT 结束符立即成帧,没有结束符时按约 900 毫秒无新数据完成一帧。
- 支持 RM-1 将右眼和左眼拆分为两个串口帧的情况,在 30 秒窗口内自动合并左右眼结果。
- 支持 R/L 眼别后纵向输出 S、C、A,支持带 S/C/A 标签、同一行左右眼、固定宽度 ASCII、JSON 和 XML 等格式。
- 只有左右眼 S/C/A 完整且解析可信度达到安全阈值时才自动填写;低可信度数据保留为诊断信息,不写入医疗结果。
- 系统使用测量指纹去重,避免同一组结果被蓝牙重复通知后重复填入。
- 开始新学生、作废重测或断开连接时清理接收缓冲和左右眼临时合并状态,防止上一名学生数据串入。
7.5.5 眼科页面采集规则
| 功能 | 处理规则 |
|---|---|
| 自动回填 | 自动填写右眼和左眼球镜 S、柱镜 C、轴位 A;记录接收时间、解析格式和可信度。 |
| 裸眼视力 | 裸眼视力不能由屈光度换算,必须由医生使用视力表逐眼实测后填写。 |
| 结果锁定 | 设备结果写入或医生开始手动编辑后锁定当前学生屈光数据,后续迟到蓝牙数据不再覆盖。 |
| 作废并重测 | 点击“作废本次屈光结果,重新测量”后,清空当前未提交 S/C/A、重置接收代次和缓冲区,并重新等待下一组左右眼结果。 |
| 手动兜底 | 设备无法使用时可手动录入;设备采集后人工修正时标记为“设备采集后手动修正”。 |
| 数值校验 | 球镜 S:-30.00~+30.00D;柱镜 C:-15.00~+15.00D;轴位 A:0~180°。 |
| 提交追溯 | 提交设备品牌、型号、医院设备编号、蓝牙 DeviceId/名称、原始 ASCII、HEX、解析格式、可信度、测量指纹和是否人工修正。 |
7.5.6 异常处理与现场诊断
- 未搜索到设备:检查 BT578V2 供电、蓝灯状态、手机蓝牙和微信位置/蓝牙权限。
- 发现多台设备:设备页显示候选列表,由医生选择当前 RM-1 配套模块;已绑定设备优先匹配。
- 找不到 FFE1:系统不保存候选设备身份,并提示该模块未提供 BT578V2 串口透传特征。
- 连接断开:眼科页面显示断开状态,可按已登记设备重新连接。
- 收到数据但无法识别:保留可见文本和 HEX 原始报文,支持一键复制诊断数据,不自动写入结果。
- 设备已被其他医生绑定:后端拒绝连接,需由管理员在“屈光仪设备分配”中核对或解除原绑定。
7.5.7 后台设备台账
- 一条设备记录表示一台 Topcon RM-1 与一只 IRXON BT578V2 的固定配套关系。
- 展示医院编号、主机型号和序列号、蓝牙名称、DeviceId、当前医生、账号、状态和最后连接时间。
- 支持新增配套设备、维护资料、分配眼科医生、解除绑定和停用设备。
- 医生端首次配对、连接冲突、后台分配、解除和资料变更均写入审计日志。
复测机制与质量控制
首次测量、复测、设备原始数据、医生修正和最终采用值均可追溯。
8.1 复测记录机制
| 环节 | 系统处理 |
|---|---|
| 首次提交 | 形成项目体检记录和第一条测量明细,保存医生、采集方式、设备身份、原始数据和测量时间。 |
| 再次提交 | 识别为复测,页面必须填写复测原因;新结果作为独立测量明细保存,不覆盖历史记录。 |
| 最终采用值 | 根据业务权限确认某次测量为最终采用值,报告使用该结果。 |
| 设备异常 | 记录连接失败、数据未返回、异常标识、手动录入或设备采集后修正等情况。 |
| 修改留痕 | 记录操作人、时间、修改前后值、原因、终端、IP、设备和请求编号。 |
8.2 血压复测
- 血压结果异常、体动、不规则脉搏、袖带异常、房颤提示或现场医生判断需要复核时,可重新测量。
- 单工位和双工位均保留设备工位、插件设备身份、收缩压、舒张压、脉搏和异常标识。
- 已有体检记录再次提交时,复测备注输入框必须填写,后端再次校验。
8.3 眼科屈光作废重测
- 设备自动写入或医生手动修改后,当前屈光结果进入锁定状态,防止后续串口数据覆盖。
- 医生点击“作废本次屈光结果,重新测量”,确认后清空本次未提交的左右眼 S/C/A。
- 系统同步清除蓝牙接收缓冲、左右眼临时结果、测量指纹和上一帧诊断数据,立即恢复自动监听。
- 已提交记录进行复测时,新的屈光结果作为复测记录保存,并要求填写复测原因。
8.4 复核质控
- 复核质控端和总后台可查看异常体检结果、复测记录、最终采用值、AI健康提示、报告开放和导出申请。
- 处理结果包括通过、驳回、退回修改、标记复测和确认最终采用值。
- 每次复核保存复核人、时间、意见、业务对象、前后状态和操作日志。
- 体检结果或采用值变化后,关联报告进入重新生成或版本更新流程。
报告生成与 AI 健康提示
个人报告基于最终采用的体检结果生成,AI仅提供健康教育提示,不修改医生数据或替代诊断。
9.1 学生个人报告
| 报告区块 | 内容 |
|---|---|
| 基本信息 | 学生类型、体检编号、导检单编号、学校、年级、班级、学籍号、姓名、性别、出生日期。 |
| 体检结果 | 既往病史、形态、眼科(含屈光)、五官、机能、内科、外科和结核筛查最终采用值。 |
| 异常与复测 | 展示规则提示、医生意见、复测情况和复核结论。 |
| AI健康提示 | 腾讯云 TokenHub Hy3 根据去标识化体检指标生成通俗健康管理建议。 |
| 防伪追溯 | 报告编号、追溯码、验证凭证、版本、生成时间、报告状态和防伪二维码。 |
9.2 腾讯云 TokenHub Hy3 配置
- 后台配置 AI 供应商、Chat API 地址、API Key、Key名称/ID和模型名称,现行模型为 Hy3。
- 可配置连接超时、总超时、最大输出 Token、温度、自动重试次数和规则健康提示回退。
- 后台直接维护“AI健康提示词”正文和“自定义表达要求”,程序固定附加医疗安全、隐私保护和禁止诊断规则。
- 支持保存配置、保存并测试、仅测试已保存配置,并记录连接测试返回、HTTP状态、请求ID和Token用量。
- TokenHub 未配置、调用失败或重试耗尽时,可自动回退到本地规则健康提示,避免报告流程整体阻塞。
9.3 AI任务队列
- 每份报告建立独立 AI 任务,记录任务类型、目标报告、模型、状态、返回内容、失败原因和重试次数。
- 任务按顺序逐条处理,每次只锁定并执行一条,防止重复调用和并发冲突。
- 宝塔计划任务调用
/corn/process_ai_task.php,持续处理待处理任务。 - AI任务页面筛选条件与报告管理保持一致,并可按任务状态、模型和失败原因进一步查询。
- 批次配置要求人工复核时,AI成功结果进入待复核状态;复核通过后写入报告健康提示。
9.4 去标识化和医疗安全规则
- 发送给 TokenHub 的数据不包含姓名、学校、班级、学籍号、证件号、手机号、医生姓名和设备原始报文。
- AI仅根据必要体检指标生成健康教育提示,不修改体检数值、异常标识或医生结论。
- 输出不得形成疾病诊断、用药方案或替代医生判断的表述。
- 报告固定显示健康提示免责声明。
家长报告查询方案(小程序端)
家长查看不单独建设一个端,统一放在小程序未登录访问能力中;支持扫码直达报告验证页,也支持普通打开小程序后按学生信息查询。
10.1 查看方式一:扫码导检单二维码直达
- 家长使用微信扫描学生导检单二维码。
- 小程序直达该学生的报告验证页面。
- 系统要求补充或确认学生信息,防止二维码被他人直接查看。
- 验证通过后展示学生体检报告。
- 家长可查看体检结果、健康提示和报告说明。
- 支持保存或导出报告。
10.2 查看方式二:普通打开小程序后查询
| 验证字段 | 录入方式 | 是否必填 | 说明 |
|---|---|---|---|
| 学生类型 | 单选筛选 | 建议必选 | 选项包括在校学生、初升高毕业生、散检人员、其他;用于控制后续查询字段是否必填。 |
| 学校名称 | 单选筛选 / 可空 | 在校学生建议必填;特殊人群选填 | 初升高毕业生、散检人员没有明确学校时,可不选择学校。 |
| 年级 | 单选筛选 / 可空 | 在校学生建议必填;特殊人群选填 | 根据学校联动筛选年级;特殊人群可跳过。 |
| 班级 | 单选筛选 / 可空 | 在校学生建议必填;特殊人群选填 | 根据学校和年级联动筛选班级;特殊人群可跳过。 |
| 学籍号 / 体检编号 | 手动输入 | 选填 | 在校学生可填写学籍号;初升高毕业生、散检人员可填写导检单上的体检编号。 |
| 姓名 | 手动输入 | 必填 | 必须与学生档案姓名一致。 |
| 性别 | 单选筛选 | 建议必填 | 男 / 女;用于减少同名同生日误匹配。 |
| 出生日期 | 手动输入 | 必填 | 输入身份证上的年月日,格式建议为 YYYY-MM-DD。 |
10.3 访问控制
- 报告未审核或未开放时,家长不能查看。
- 二维码 token 不应直接包含身份证号、手机号等敏感信息。
- 查询验证不使用“证件号后四位”;在校学生可使用学校、年级、班级、姓名、性别、出生日期组合验证,初升高毕业生和散检人员使用体检编号/导检单编号、姓名、性别、出生日期组合验证。
- 当姓名和出生日期匹配到多名学生时,系统提示补充性别、体检编号、学校或其他辅助信息,不直接展示报告。
- 验证失败次数过多时,系统进行临时限制。
- 家长查看报告的时间、IP、验证结果应记录日志。
安全、隐私与合规机制
安全、隐私、日志审计和防伪溯源统一归入总后台能力,不单独建设“安全端”;围绕学生敏感信息、体检数据、报告文件和访问行为建立必要且可落地的安全管理能力。
11.1 全流程数据脱敏机制
| 环节 | 控制要求 |
|---|---|
| 数据库 | 字段结构清晰,字段注释完善;身份证号、手机号、体检结果等敏感字段限制非授权访问。 |
| 接口 | 根据角色权限返回必要字段,医生端仅返回当前体检项目所需数据。 |
| 页面 | 身份证号、手机号等字段默认脱敏展示;确需明文查看时需二次确认并记录日志。 |
| 导出 | 默认脱敏导出,明文导出需复核质控医生或总后台具备相应权限后审批,并记录导出日志。 |
| 日志 | 日志中不得记录完整身份证号和完整手机号,统一采用脱敏格式。 |
| AI调用 | AI分析前进行去标识化处理,仅传递必要体检指标,不传姓名、学校、班级、身份证号、手机号。 |
11.2 三维日志审计体系
| 日志维度 | 记录内容 |
|---|---|
| 用户维度 | 登录、退出、扫码、查看报告、导出数据、权限变更等行为。 |
| 业务维度 | 学生档案变更、项目录入、复测提交、最终采用值确认、报告生成、报告审核等行为。 |
| 安全维度 | 登录失败、越权访问、二维码验证失败、高频访问、敏感数据导出、接口异常等行为。 |
日志字段建议
- 操作人ID、操作人姓名、角色、所属机构。
- 操作类型、业务对象、学校、体检批次、学生体检号、体检项目。
- 修改前数据、修改后数据、修改原因。
- IP地址、终端信息、设备信息、请求编号、操作时间。
- 风险等级、处理状态、备注说明。
11.3 报告防伪溯源机制
| 报告类型 | 防伪与追溯内容 |
|---|---|
| 学生个人报告 | 唯一报告编号、防伪二维码、追溯码、版本号、生成时间、报告状态、动态水印。 |
| 学校总结报告 | 学校名称、体检批次、导出人、导出时间、报告编号、追溯码、动态水印。 |
| 区域汇总报告 | 区域名称、统计范围、生成单位、生成时间、报告编号、防伪二维码、追溯码。 |
| 扫码验证页面 | 展示报告真伪、报告版本、生成时间、报告状态和文件校验结果。 |
11.4 基础安全要求
- 采用 HTTPS 进行接口访问。
- 后台账号、医生账号、复核质控账号均支持角色权限控制。
- 所有账号密码按当前需求采用 MD5 散列存储;数据库不保存明文密码。
- 医生端按体检项目授权访问。
- 家长查看报告需完成学生信息验证。
- 敏感导出、明文查看、报告重新生成等操作需记录日志。
- 系统定期备份数据库和报告文件。
11.5 简化落地建议
统计分析与数据导出
支持医院、学校和区域管理所需的数据统计和报告输出。
12.1 导出类型
| 导出内容 | 说明 |
|---|---|
| 学生基础档案 | 按学生类型、学校、年级、班级导出基础档案;字段包括学生类型、体检编号、学校名称、年级、班级、学籍号、姓名、性别、出生日期等。特殊人群的学校、年级、班级、学籍号可为空。 |
| 体检结果明细 | 导出既往重要病史、形态、眼科(含屈光)、五官、机能、内科、外科、结核筛查等完整体检结果。 |
| 异常名单 | 按异常规则筛选并导出重点关注学生名单。 |
| 未完成名单 | 导出未体检或未完成项目的学生名单。 |
| 个人报告 | 导出学生个人 PDF 报告或图片报告。 |
| 学校总结报告 | 生成学校维度的整体体检结果统计报告。 |
| 区域汇总报告 | 生成区域维度多学校汇总体检分析报告。 |
12.2 统计维度
- 按学生类型、学校、年级、班级统计体检完成率;支持单独统计初升高毕业生、散检人员等特殊人群。
- 按项目统计完成数量、异常数量和复测数量。
- 按设备统计采集成功率和手动录入比例。
- 按批次统计报告生成数量、已开放数量、家长查看数量。
- 按 AI 任务统计生成中、生成成功、生成失败、待复核、已复核数量。
- 学校、年级、班级、学生档案、体检记录、复测记录、报告等列表按当前筛选条件导出,不导出未命中的数据。
- 导出文件包含正式标题、导出条件、导出时间、字段表头、适当列宽、边框、冻结表头和统一日期/数值格式。
- 学校、年级、班级等基础档案页面的导出与页面搜索条件保持一致。
- 体检编号、导检单编号、报告编号等标识字段按文本格式导出,避免 Excel 自动转科学计数法。
12.3 查询结果导出规范
12.4 明文导出复核
- 医院最终导出 Excel 暂无固定模板,由系统按规范字段顺序生成。
- 不需要按教育局、卫健委或第三方平台格式上报。
- 字段名称、字段顺序、单位格式由系统开发时统一规范,数据表字段注释需完善。
- 明文导出审批由复核质控医生在网页复核质控端复核,总后台也可按权限执行复核。
整体功能清单
按现有代码模块归纳医院总后台、微信小程序、医生网页端和复核质控端功能。
- 首页看板与体检进度
- 学校、年级、班级管理
- 学生档案与特殊人群
- 学生 Excel 批量导入、模板和导入历史
- 体检批次与批次学生
- 体检项目与字段配置
- 导检单生成、单个打印和批量打印
- 体检记录与复测记录
- 医生账号与项目权限
- 欧姆龙血压计设备分配
- Topcon RM-1 屈光仪设备分配
- 复核账号和后台权限控制
- 报告管理、预览、复核和开放
- AI任务与腾讯云 TokenHub Hy3 配置
- 数据统计、查询后导出和明文导出复核
- 日志审计、医院信息和设备参数配置
- 医院首页和报告查询入口
- 家长扫码或信息验证查询报告
- 医生账号登录和账号密码找回
- 医生工作台、项目权限和今日统计
- 身高体重秤真实连接与自动采集
- 欧姆龙血压计单工位/双工位连接与采集
- Topcon RM-1 + BT578V2 配对、绑定、自动重连和自动取数
- 扫码导检单和授权项目入口
- 既往病史、形态、眼科、五官、机能、内科、外科和结核筛查
- 设备采集、手动录入和设备采集后修正
- 复测原因、历史测量和最终结果提交
- 报告详情、防伪验证和分享能力
- 医生账号登录与退出
- 个人资料和授权项目查看
- 本人采集记录和测量明细
- 异常记录查询
- 项目完成情况和业务统计
- 复核质控账号登录
- 异常体检记录复核
- 报告预览、复核和开放
- AI健康提示任务查看与复核
- 明文导出申请复核
- 复核日志和操作留痕
技术架构与运行环境
本节按现有项目代码结构整理,不再采用与实际项目不一致的框架建议。
14.1 微信小程序前端
| 类别 | 现行选型 | 说明 |
|---|---|---|
| 前端框架 | uni-app + Vue 3 | 统一开发微信小程序首页、家长报告、医生工作台、设备管理和体检采集页面。 |
| 开发语言 | JavaScript / ES6+ | 公共模块包括请求、鉴权、设备连接、欧姆龙双工位会话和 Topcon RM-1 解析器。 |
| 开发工具 | HBuilderX 5.14 | 用于项目开发、运行和发行。 |
| 调试工具 | 微信开发者工具稳定版 | 用于小程序预览、真机蓝牙调试、体验版和审核发布。 |
| 设备能力 | 微信 BLE API + 欧姆龙官方插件 | 身高体重秤和屈光仪使用 BLE;欧姆龙 J735 使用官方插件。 |
14.2 后端与数据库
| 类别 | 现行选型 | 说明 |
|---|---|---|
| 后端语言 | PHP 8.3 | 采用模块化 PHP 实现医院总后台、医生网页端、复核质控端和小程序 API。 |
| 数据库 | MySQL | 存储基础档案、批次、导检单、体检记录、测量记录、设备台账、报告、AI任务、账号权限和日志。 |
| 鉴权安全 | Session / API Token / CSRF / 频率限制 | 网页端和小程序端分别执行身份校验、权限校验、请求校验和审计记录。 |