西藏巴青项目

在线接诊(兽医)功能需求.md 19KB

在线接诊(兽医)— 功能需求

1. 文档说明

说明
模块名称 在线接诊(兽医)(牧业疫病诊疗服务)
目标 已绑定兽医身份的登录用户提供与牧民/用户的即时在线问诊能力:按条件检索本人接诊会话、查看历史消息、发送与接收多媒体消息,完成疫病相关的远程沟通
使用端 业务后台(若依管理端);登录用户须为「畜牧医疗资源管理」中为该兽医已分配账号的兽医端角色用户(角色 100
修订依据 同目录 在线接诊(兽医)功能需求-草稿.md、界面原型(Snipaste_2026-05-20_17-34-19.jpgSnipaste_2026-05-20_17-35-41.jpgSnipaste_2026-05-20_17-38-33.jpg);并关联分析 AI 诊断(兽医、机构) 草稿与原型

本文档仅描述功能需求与业务规则,不涉及数据库表结构、接口路径、请求体字段命名、HTTP 报文、权限标识命名及技术栈选型。


2. 术语与业务对象

2.1 接诊会话(一条会话)

  • 表示某一问诊人(牧民/用户)某一接诊兽医之间的一条持续性的在线问诊对话容器。
  • 会话由会话 ID 唯一标识;其下有多条问诊消息按时间顺序组成聊天记录。
  • 业务上接诊人为当前绑定的兽医资源对应账号;本模块仅展示与操作「接诊人为当前登录兽医」的会话

2.2 问诊消息(单条)

  • 会话内一次发送的内容单元,类型包括:文本、图片、视频、语音
  • 每条消息记录发送方、接收方、发送时间、消息类型及内容(或媒体资源引用);在界面按时间轴展示,区分「问诊人侧」与「兽医侧」气泡。

2.3 问诊人(需求方)

  • 移动端「在线问诊」向该兽医发起或继续对话的用户;本模块展示其姓名在此维护用户档案、不代其发起新会话(新会话由移动端创建)。

2.4 当前登录人(接诊兽医)

  • 通过「畜牧医疗资源管理」分配账号登录后台的兽医本人
  • 会话列表、消息读写范围均自动限定为当前兽医;不得查看或回复其他兽医的会话。

2.5 问诊类型(业务区分,非本模块菜单)

为与 AI 诊断、专家问诊等并行能力区分,会话在业务上带有问诊类型标识(如:兽医在线问诊、AI 问诊、专家在线问诊等)。
本模块仅处理「兽医在线问诊」类型的会话;列表与详情不出现 AI 会话或专家会话。


3. 关联需求分析(在线接诊 / AI 诊断)

「在线接诊(兽医)」与「AI 诊断(兽医、机构)」同属即时消息类产品能力,界面形态相近(左侧会话列表 + 右侧对话区),但服务对象、数据范围与业务目的不同,须严格隔离。

3.1 双模块定位对照

维度 在线接诊(兽医)(本文档) AI 诊断(兽医、机构)
所属业务 牧业疫病诊疗服务 牧业疫病诊疗服务
使用角色 仅兽医账号 兽医账号 + 机构账号(机构人员自助使用 AI)
对话对象 真实问诊人(牧民/用户) AI 助手(无真实对方用户在线回复)
业务目的 人工远程问诊、病情沟通、处置建议 自助问答、知识检索、辅助分析(替代兽医接诊)
会话来源 移动端「在线问诊」选兽医后发起/续聊 后台或移动端「AI」入口新建会话或打开历史
列表标题语义 问诊人姓名 + 最后一条双方聊天摘要 问答标题 + 最后一条问答摘要
右侧标题区 问诊人姓名 AI 助手
列表筛选项 问诊人(模糊)、会话内容(模糊) 会话内容(模糊)
新建会话 (由移动端用户侧发起) 「新增会话」
问诊类型标识 兽医在线问诊 AI 问诊

3.2 界面形态对照(后台)

flowchart TB
    subgraph 兽医接诊["在线接诊(兽医)"]
        V1[筛选: 问诊人 + 会话内容]
        V2[左: 接诊会话列表]
        V3[右: 与问诊人聊天]
    end
    subgraph AI诊断["AI 诊断(兽医、机构)"]
        A1[筛选: 会话内容]
        A2[左: 历史会话列表]
        A3[右: 与 AI 助手对话]
        A4[新增会话]
    end

两模块菜单独立数据列表互不可见;避免将 AI 历史会话误展示在接诊会话列表中。

3.3 与移动端协同对照

在线接诊相关 AI 诊断相关
移动端-在线问诊 兽医列表 → 兽医资料 → 在线问诊聊天;曾问诊过则进入原会话,否则新建会话(原型说明)
移动端-消息 Tab 展示与各兽医的会话列表(兽医名称、摘要、日期)
移动端-AI Tab 历史 AI 会话列表;+ 创建会话;快捷入口(养殖技巧、疾病诊疗、用药指导、设备操作等)

牧民侧「在线问诊」产生的消息,在兽医后台「在线接诊」中可见;牧民侧不直接出现在兽医后台的 AI 诊断列表中。

3.4 与「我的预约(兽医)」的关系

关系 说明
业务并行 「我的预约」管理预约单(待确认/已确认等);「在线接诊」管理即时对话,二者职责不同
本期不绑定预约 不校验预约单状态;牧民无需先有「已确认」等预约即可发起或继续在线问诊;聊天模块不读取、不拦截预约状态(见 §5.3
状态独立 发送聊天消息不自动变更预约单状态;预约「已完成」由整体业务规则置位,与聊天模块解耦
数据隔离 预约列表与接诊会话列表无交叉查询

3.5 机构侧说明(关联 AI 诊断)

  • 机构账号可使用 AI 诊断 进行自助问答;不使用「在线接诊(兽医)」菜单(该菜单仅兽医角色)。
  • 若机构人员需与牧民在线沟通,属其他业务(本期不在本文档范围)。
  • 兽医与机构共用 AI 诊断模块时,各自仅能看到本人作为提问人的 AI 历史会话。

3.6 数据与权限隔离(业务层约定)

  • 接诊会话:接诊人 = 当前登录兽医;问诊类型 = 兽医在线问诊。
  • AI 会话:提问人 = 当前登录用户;问诊类型 = AI。
  • 同一用户可能既是兽医(接诊他人)又是 AI 提问者(自问 AI),两类会话分表分列表,不得合并展示。

4. 会话与消息规则

4.1 会话范围与时间窗

规则
数据范围 当前登录兽医作为接诊人的会话
默认列表时间窗 左侧列表默认仅展示「最后一条消息时间」落在最近 3 个月内的会话(含起止日当天;起算时点须稳定)
超窗会话检索 最后消息早于 3 个月的会话默认不出现;兽医填写问诊人会话内容并点击搜索后,可检索并打开命中会话(可搜但不默认列出)
排序 最后一条消息时间倒序(最近活跃在前)
会话唯一性 同一「问诊人 + 接诊兽医」在业务上对应一条持续会话(移动端续聊进入原会话;不鼓励后台重复建多条并行会话)

4.1.1 会话删除/结束(兽医侧展示)

规则
牧民侧删除 牧民在移动端「消息」Tab 删除某条与兽医的会话后,该会话在兽医后台接诊列表中不再展示,兽医不可再查看或回复(视为对该兽医侧不可见)
兽医侧操作 兽医后台不提供「删除会话」「结束会话」等按钮;不展示已删除/已结束的会话条目
历史消息 对已不可见会话,本期不提供兽医侧恢复入口

4.2 消息类型与展示

类型 发送方 展示要求
文本 问诊人 / 兽医 气泡内展示全文;过长可换行
图片 双方 缩略图展示;可点击查看大图(若平台统一支持预览)
视频 双方 展示视频消息占位/封面;可点击播放(若平台支持)
语音 双方 展示语音条及时长;可点击播放

兽医后台须能接收问诊人发来的各类型消息,并能发送各类型消息回复。

视频、语音(本期约定)

  • 视频语音均采用上传文件方式发送(选择本地文件后上传),不提供实时音视频通话(RTC)、不提供后台内嵌录音/录像控件(与「仅上传文件」一致;图标入口仍为选文件)。
  • 图片文本规则不变。

4.3 消息同步与时效

规则
同步要求 近实时:问诊人发送或兽医发送成功后,对方界面须在 1 秒内 看到新消息(含左侧列表摘要更新)
实现取向 宜采用推送/长连接等机制;纯手动刷新不满足本需求
展示 聊天记录区按日期分组(如「3月30日」)及时刻(如「16:11」)展示,与原型一致
兽医发送成功 消息立即出现在当前会话兽医侧;同步至问诊人后亦须满足 1 秒内可见

5. 功能范围

5.1 本期实现

能力 说明
即时聊天布局 左列表 + 右对话区;§6
接诊会话列表 筛选、默认 3 个月、排序;§6.1
查看会话消息 选中会话加载全部历史消息;§6.2
发送消息 文本、图片;视频/语音为文件上传§6.3
近实时同步 双向消息 ≤ 1 秒 可见;§4.3
超窗搜索 默认 3 个月列表;搜索可查更早会话;§6.1
工具栏 列表区 搜索重置

5.2 本期不实现

说明
兽医后台「新建接诊会话」 会话由移动端用户发起;与 AI 诊断的「新增会话」不同
会话转接、多人会诊、@提醒 原型未要求
消息撤回、已读回执、输入中状态 除非平台统一 IM 规范另立,本期不做
将 AI 诊断结果一键插入接诊聊天 可单独立项;本期不做
机构端在线接诊、专家在线接诊后台 仅兽医本文档;专家/机构另模块
导出聊天记录、敏感词审核配置 未要求
视频/语音实时通话(RTC) 不支持
后台内嵌录音/录像发送 不支持;语音/视频仅上传文件(见 §5.3
兽医侧删除/结束会话 不提供;牧民删除后会话对兽医不展示

5.3 本期产品确认项(已确认)

# 确认项 本期约定
1 消息时效 须近实时;对方可见新消息的延迟 ≤ 1 秒
2 3 个月窗外历史 可搜但不默认列出:默认列表仅最近 3 个月;搜索可命中更早会话并打开
3 与预约关系 暂不绑定预约状态;不校验是否已预约/已确认
4 视频/语音发送方式 仅上传文件;不做 RTC、不做后台内嵌录播
5 会话删除/结束 牧民删除后,兽医侧列表不展示该会话;兽医侧删除/结束操作

6. 详细功能需求

6.1 接诊会话列表(左侧)

规则
标题 「接诊会话」(与原型一致)
数据范围 当前兽医的兽医在线问诊会话;排除牧民已删除且对兽医不可见的会话(§4.1.1
时间范围 默认仅最近 3 个月内有最后消息的会话;搜索时可查更早会话(§4.1§5.3

筛选条件

筛选项 规则
问诊人 选填;对问诊人姓名 模糊匹配;不受默认 3 个月限制(搜索时全量匹配)
会话内容 选填;对会话内消息文本内容(及可检索的标题/摘要字段)模糊匹配;不受默认 3 个月限制
工具栏 搜索(触发后按条件查询,可含超 3 个月会话)、重置(恢复默认列表,仅 3 个月)
默认进入 未点击搜索或已重置时,列表展示最近 3 个月会话

列表项展示(与原型一致)

元素 说明
头像 问诊人头像占位或默认图
问诊人姓名
最后一条内容 展示该会话最新一条消息的摘要(文本截断;非文本类型可用固定文案如「[图片]」「[语音]」「[视频]」)
问诊日期 最后消息日期展示,格式如「M月D日」(如 3月30日)
选中态 选中某条后高亮,右侧加载该会话

空列表

  • 无会话时展示友好提示(如「暂无接诊会话」)。

6.2 会话详情与聊天记录(右侧)

规则
入口 点击左侧某条接诊会话
顶部标题 展示当前会话的问诊人姓名(与左侧一致)
聊天区 展示该会话全部历史消息(不受列表默认 3 个月限制;分页加载以实现为准,须能看全历史)
气泡布局 问诊人消息在一侧(如左),兽医消息在另一侧(如右);带头像占位
未选会话 右侧可为空状态提示(如「请选择接诊会话」)

只读约束

  • 历史消息不可编辑、不可删除(除非平台统一 IM 规范另定管理员能力,本期兽医侧不做)。

6.3 发送消息(右侧输入区)

规则
文本输入 多行文本框;支持输入病情回复、指导建议等
图片 选择本地图片文件上传并发送
语音 选择本地语音文件上传并发送(后台内嵌录音)
视频 选择本地视频文件上传并发送(后台内嵌录像);须可接收并展示问诊人上传的视频消息
发送按钮 「发送」;文本须非空;图片/音视频须已选文件
发送成功 消息近实时出现在聊天区(§4.3);更新左侧列表摘要与时间

发送身份

  • 消息发送方均为当前登录兽医;接收方为该会话的问诊人

失败处理

  • 发送失败须提示原因(网络、文件过大、格式不支持等),消息虚假展示为已成功。

6.4 与 AI 诊断的互斥说明(产品层)

场景 在线接诊(兽医) AI 诊断
兽医想查历史与牧民聊天 使用本模块 不使用
兽医想用 AI 查养殖/疾病知识 不使用 使用 AI 诊断
机构人员问 AI 无菜单 使用 AI 诊断

两模块不得共用同一左侧列表或会话 ID 空间。


7. 业务流程

7.1 兽医后台使用流程

flowchart TD
    A[兽医登录后台] --> B[进入在线接诊兽医]
    B --> C[可选: 问诊人/会话内容筛选]
    C --> D[搜索/重置]
    D --> E[左侧接诊会话列表]
    E --> F{选择会话?}
    F -->|是| G[右侧展示问诊人姓名与历史消息]
    G --> H[输入文本或选择图片/语音/视频]
    H --> I[点击发送]
    I --> J[消息入列并更新列表摘要]
    J --> G
    F -->|否| E

7.2 与移动端协同(牧民发起/续聊)

sequenceDiagram
    participant 牧民
    participant 移动端
    participant 兽医后台

    牧民->>移动端: 在线问诊-选择兽医
    alt 曾与该兽医问诊过
        移动端->>移动端: 进入原会话
    else 首次
        移动端->>移动端: 创建新会话
    end
    牧民->>移动端: 发送文本/图片/视频/语音(文件)
    移动端-->>兽医后台: 近实时同步(≤1秒)
    兽医后台->>兽医后台: 接诊会话列表可见更新

    兽医后台->>兽医后台: 回复消息(文件上传)
    兽医后台-->>移动端: 近实时同步(≤1秒)
    牧民->>移动端: 查看兽医回复

    opt 牧民删除会话
        移动端->>移动端: 会话对兽医不可见
        Note over 兽医后台: 列表不展示该会话

要点:

  1. 会话由移动端创建或续接,兽医后台不创建新接诊会话。
  2. 双方消息双向同步;兽医仅回复属于自己的会话。
  3. AI 诊断 无自动串联;牧民在 AI 中的提问不会出现在兽医接诊列表。

7.3 与 AI 诊断流程的并行关系

flowchart LR
    subgraph 牧民侧
        M1[在线问诊选兽医]
        M2[AI Tab 问 AI]
    end
    subgraph 兽医后台
        V[在线接诊]
        A[AI 诊断]
    end
    M1 --> V
    M2 -.->|不经由兽医后台| AI移动端
    兽医本人 --> V
    兽医本人 --> A

8. 业务数据要素(逻辑层,非表结构)

实施时需持久化以下业务信息(字段命名与存储方式由技术方案定义):

逻辑对象 要点
会话 会话 ID;问诊人标识、问诊人姓名;接诊人标识、接诊人姓名;问诊类型(兽医在线问诊);问题标题(可选,首问摘要或会话标题);最后消息时间
消息 所属会话 ID;发送方/接收方标识与姓名;消息类型(文本/图片/视频/语音);内容或媒体资源引用;发送时间

与 AI 诊断存储的差异: AI 会话的问诊类型为 AI,提问人为当前登录用户本人,无「接诊人-问诊人」双方真人对话结构。


9. 提示约定(示例)

场景 示例文案
搜索无结果 未找到匹配的接诊会话
默认列表 仅展示最近 3 个月会话;更早记录请使用搜索
空列表 暂无接诊会话
未选会话 请选择接诊会话
发送失败 发送失败,请重试
文本为空 请输入消息内容
文件限制 图片/视频/语音不符合要求时的具体提示(大小、格式以实现为准)
无权限 无权查看该会话
非本兽医会话 无权查看该会话 / 会话不存在

10. 非功能建议(业务侧)

  • 会话与消息查询须限定当前兽医,防止越权查看他兽医的问诊记录。
  • 消息投递:端到端可见延迟 ≤ 1 秒§5.3);验收时须在双端同时在线场景下抽检。
  • 图片、视频、语音上传须符合平台文件大小与格式统一规范。
  • 列表与聊天的时间、日期展示格式与移动端、AI 诊断模块保持一致
  • 界面支持 i18n(汉语 + 藏文)。
  • 消息量大时聊天区宜支持滚动加载或分页,避免一次加载过慢;左侧列表仍按最后消息时间排序。
  • 高敏感场景下可考虑操作审计(查看会话、发送消息),与平台统一要求一致。

11. 修订记录

版本 说明
1.0 依据草稿与原型整理;补充与 AI 诊断(兽医、机构)关联分析;明确与我的预约、移动端在线问诊协同;剔除技术栈与接口表述;定义消息类型与会话隔离规则
1.1 纳入产品确认:近实时≤1秒;超3个月可搜不默认列出;不绑定预约;音视频仅上传文件;牧民删除后会话兽医侧不展示