18 KiB
门诊医生站开立会诊申请单界面PRD文档
一、页面概述
页面名称:门诊医生站开立会诊申请单界面页面目标:帮助门诊医生完成会诊申请单的创建、编辑、提交和作废操作,实现多科室会诊流程的电子化管理适用场景:
- 门诊医生需要邀请其他科室专家进行会诊时
- 会诊申请单需要修改或补充信息时
- 会诊流程需要跟踪管理时 页面类型:表单页+列表页复合型界面
核心功能:
- 会诊申请单的新增、保存、提交、作废功能
- 会诊科室/专家可视化选择
- 申请单数据表格展示与交互
- 表单数据自动填充与校验
- 申请单打印输出
用户价值:
- 规范会诊申请流程,减少纸质单据使用
- 通过智能填充减少医生重复录入
- 实时查看会诊申请状态(新开/已提交/已确认/已签名/已完成/已取消)
原型图地址:https://static.pm-ai.cn/prototype/20260115/4eb1bd5367f9d5610b32c0ecc6c793f5/index.html
流程图:
flowchart TD
%% ---------- 开始 ----------
START(["开始"]) --> A["医生进入会诊申请单界面"]
%% ---------- 操作选择 ----------
A --> B{"操作选择"}
B -->|"打印"| C["选择已有申请单"]
B -->|"提交/取消提交"| D{"校验状态为“已提交”?"}
B -->|"删除"| E["弹出确认对话框"]
B -->|"结束"| F{"校验状态为“已提交”?"}
B -->|"编辑"| G["修改表单内容"]
B -->|"新增"| H["清空表单(保留患者信息)"]
%% ---------- 打印分支 ----------
C --> I["高亮选中行"]
I --> J["生成打印视图"]
J --> K["输出打印样式"]
K --> L(["取消"])
%% ---------- 提交/取消提交分支 ----------
D -->|"不通过"| M["提示“请完善必填信息”"]
D -->|"通过"| N["更新状态为“已提交/新开”"]
%% ---------- 删除分支 ----------
E --> O{"确认?"}
O -->|"是"| P["标记状态为“已取消”"]
O -->|"否"| L
%% ---------- 结束分支 ----------
F -->|"不通过"| Q["提示“请先提交申请”"]
F -->|"通过"| R["标记状态为“已完成”"]
%% ---------- 编辑分支 ----------
G --> S{"校验必填字段"}
S -->|"不通过"| M
S -->|"通过"| T["保存到表格"]
%% ---------- 新增/保存通用路径 ----------
H --> U["填写表单"]
U --> V["选择会诊科室/专家"]
V --> W["自动填充邀请对象"]
W --> X["填写病史及目的"]
X --> Y["点击保存"]
Y --> Z{"校验必填字段"}
Z -->|"不通过"| M
Z -->|"通过"| AA["生成会诊申请记录"]
AA --> AB["保存到表格"]
AB --> AC["新增/更新记录"]
%% ---------- 循环 ----------
AC --> A
N --> A
P --> A
R --> A
T --> A
M --> A
Q --> A
L --> A
二、整体布局分析
页面宽度:自适应宽度(主内容区采用7:3比例分割) 主要区域划分:
- 顶部操作栏(48px固定高度)
- 会诊申请单列表区(高度自适应)
- 主内容区(分左右结构,7:3比例)
- 左侧:会诊申请单表单区
- 右侧:会诊科室/专家选择区 布局特点:响应式上下+左右混合布局,主要对齐方式为左对齐
三、页面区域详细描述
1. 顶部操作栏区域
区域位置:页面顶部固定位置区域尺寸:高度48px,宽度100%区域功能:提供全局操作功能入口包含元素:
- 打印按钮
- 元素类型:操作按钮
- 显示内容:“打印”
- 交互行为:点击后生成A4打印视图,自动适配医院抬头格式
- 样式特征:绿色背景(#13C2C2),圆角4px,32px高度
- 新增按钮
- 元素类型:操作按钮
- 显示内容:“新增”
- 交互行为:点击清空表单(保留当前患者基本信息)
- 样式特征:蓝色背景(#1890FF)
- 结束按钮
- 元素类型:危险操作按钮
- 显示内容:“结束”
- 交互行为:点击结束已提交的会诊流程,标记申请单状态为"已结束",禁用后续操作
- 样式特征:红色背景(#FF4D4F)
- 限制条件:需先选中已提交的会诊单
- 保存按钮
- 元素类型:主要操作按钮
- 显示内容:“保存”
- 交互行为:点击保存当前表单数据,校验必填字段后保存至表格,自动生成时间戳
- 样式特征:绿色背景(#52C41A)
2. 会诊申请单列表区
区域位置:顶部操作栏下方区域尺寸:高度自适应,宽度100%区域功能:展示当前医生的会诊申请记录包含元素:
- 申请单表格
-
展示方式:带边框表格
-
数据字段:
- 序号:文本 - 自增序号 - 不可操作
- 急:布尔 - ✓表示紧急 - 不可操作
- 申请单号:文本 - CS20260105001 - 不可操作
- 会诊时间:日期 - 2026-01-05 15:08 - 不可操作
- 邀请对象:文本 - 吴院长 - 不可操作
- 申请科室:文本 - 内科 - 不可操作
- 申请医师:文本 - 张医生 - 不可操作
- 申请时间:日期 - 2026-01-05 15:08 - 不可操作
- 提交状态:布尔 - 复选框 - 仅查看
- 结束状态:布尔 - 复选框 - 仅查看
-
操作功能:
-
- o 提交/取消提交按钮
-
-
样式要求:蓝色小按钮,禁用状态显示灰色
交互行为:切换提交状态,需二次确认
o 删除图标
样式要求:红色垃圾桶图标,hover时放大10%
交互行为:弹出确认对话框后作废该记录
[删除]将状态改为“已取消”**
UPDATE ConsultationRequest SET ConsultationStatus = 50,cancelnatureDate = <作废会诊时间> WHERE ConsultationID = <会诊申请单ID> and ConsultationStatus <> 40 ;
- 交互特性:
- 行点击选中效果(蓝色高亮+左侧边框)
- 行hover浅灰色背景
- 提交按钮状态联动(切换提交状态,需二次确认)
3. 会诊申请单表单区
区域位置:主内容区左侧区域尺寸:占主内容区70%宽度区域功能:会诊申请单的详细表单填写包含元素:
- 基础信息区
- 申请单号:只读文本,【保存】时自动生成规则CS+年月日时分秒+4位随机数
- 申请时间:只读文本,自动获取系统当前时间
- 病人信息:病人姓名/性别/年龄/就诊卡号/申请医师/申请科室(不可编辑),自动获取当前患者档案信息。
- 会诊信息区
- 会诊时间:时间控件可编辑
- 紧急标识:复选框控件
- 申请医师:默认当前登录医生
- 申请科室:默认当前医生登录的开单科室
- 门诊诊断:自动获取医生开立的门诊诊断(主诊断)
- 病史及目的
- 多行文本域,最小高度100px
- 会诊邀请
- 会诊邀请对象:支持多选(逗号分隔)-》(可从右侧会诊邀请对象选择)
- 会诊记录区
- 会诊意见:只读文本域
- 会诊确认参加医师:只读字段
- 所属医生、代表科室、签名医生、签名时间:只读字段
4. 会诊邀请对象选择区(侧边栏)
区域位置:主内容区右侧区域尺寸:占主内容区30%宽度区域功能:快速选择会诊科室和专家包含元素:
- 会诊科室列表
- 展示方式:带边框可滚动列表
- 交互行为:选择科室后动态加载对应专家
- 会诊专家列表
- 展示方式:带边框可滚动列表
- 交互行为:点击专家自动填入会诊邀请对象字段(防重复:已选专家提示"请勿重复选择")
- 特殊逻辑:支持多选(自动用逗号分隔)
四、交互功能详细说明
1. 会诊申请单提交流程
功能描述:完成会诊申请单的提交操作触发条件:点击表格行的"提交"按钮操作流程:
- 医生点击行内"提交"按钮
- 系统校验必填字段(会诊时间、邀请对象)
- 提交状态复选框变为已勾选
- 按钮文字变为"取消提交"
- 禁用该行编辑功能
【提交】将状态从“新开”改为“已提交”
UPDATE ConsultationRequest SET ConsultationStatus = 10,ConfirmingPhysician = <提交会诊医生姓名> ,ConfirmingPhysicianID = <提交会诊医生ID> ,ConfirmingDate = <提交会诊时间> WHERE ConsultationID = <会诊申请单ID> and ConsultationStatus = 0 ;
【取消提交】将状态从“已提交”改为“新开”
UPDATE ConsultationRequest SET ConsultationStatus = 0,ConfirmingPhysician = '',ConfirmingPhysicianID = '',ConfirmingDate = '' WHERE ConsultationID = <会诊申请单ID> and ConsultationStatus = 10 ;
异常处理:
- 必填字段缺失:弹出"请完善会诊时间和邀请对象信息"
- 重复提交:提示"该申请已提交,请勿重复操作"
2. 会诊流程结束功能
功能描述:标记会诊流程已结束触发条件:选中已提交的申请单后点击顶部"结束"按钮操作流程:
- 医生选中已提交的申请单(行高亮)
- 点击顶部"结束"按钮
- 系统校验提交状态为已提交
- 结束状态复选框变为已勾选
- 禁用该行的取消提交功能
【结束】将状态从“已签名”改为“已完成”
UPDATE ConsultationRequest SET ConsultationStatus = 40,Signature = <结束会诊医生姓名> ,SignatureDate=<结束会诊时间> WHERE ConsultationID = <会诊申请单ID> and ConsultationStatus = 30 ;
异常处理:
- 未选中记录:提示"请先选择要结束的会诊申请"
- 未提交记录:提示"请先提交该会诊申请"
3. 申请单保存功能
功能描述:保存会诊申请单数据触发条件:点击顶部"保存"按钮操作流程:
-
系统自动生成申请单号(如为空)
-
保存当前表单所有字段值
-
新增记录插入表格末尾
-
已有记录更新对应行数据
【保存】
①、写入门诊医嘱表(医嘱状态为新开,医嘱名称为"门诊会诊")
②、写入门诊会诊申请单表(ConsultationRequest)
数据校验:
- 必填字段:病人姓名、会诊时间、申请科室、会诊时间、会诊邀请对象、简要病史及会诊目的
- 未选会诊对象:提示"请至少选择1位会诊专家"
- 过期时间:提示"会诊时间不能早于当前时间"
4. 会诊邀请对象选择联动
触发方式:点击科室列表项 数据联动:
- 根据选中会诊科室过滤会诊专家列表
- 记忆已选专家(跨科室切换时不丢失)
技术要点:
- 使用对象存储会诊科室-会诊专家映射关系
- 采用事件委托处理动态生成的列表项
五、数据结构说明
门诊会诊申请单表(ConsultationRequest)
| 字段名称 | 数据类型 | 长度 | 描述 | 取值范围 |
|---|---|---|---|---|
| PatientID | Text | 20 | 患者唯一标识 | 患者就诊卡号 (取值患者档案) |
| ConsultationID | Text | 20 | 会诊申请单唯一标识 | 系统自动生成的唯一编号,生成规则CS+年月日时分秒+4位随机数 |
| VisitID | BIGINT | 20 | 门诊就诊流水号(逻辑外键) | 取值于本次门诊就诊记录表的主键 |
| OrderID | BIGINT | 20 | 门诊医嘱表主键(一对一外键) | 门诊医嘱表 |
| PatientName | Text | 50 | 患者姓名 | 患者的姓名 (取值患者档案) |
| Gender | Text | 10 | 患者性别 | 男/女/其他 (取值患者档案) |
| Age | Integer | - | 患者年龄 | 取值患者档案 |
| Department | Text | 50 | 申请会诊的科室 | 当前科室名称 |
| RequestingPhysician | Text | 50 | 申请会诊的医生 | 当前医生姓名 |
| ConsultationrequestDate | DateTime | - | 会诊申请时间 | YYYY-MM-DD HH:MM:SS |
| ConsultationPurpose | Text | 255 | 简要病史及会诊目的 | 文本描述,自定义编辑 |
| ProvisionalDiagnosis | Text | 255 | 门诊诊断 | 文本描述,自动获取医生开立的门诊诊断(主诊断) |
| ConsultationDate | DateTime | - | 会诊时间 | YYYY-MM-DD HH:MM:SS |
| ConsultationStatus | Text | 20 | 会诊状态 | 新开/已提交/已确认/已签名/已完成/已取消 |
| ConsultationUrgency | Text | 20 | 是否紧急 | 勾选框:一般/紧急 |
| ConsultationOpinion | Text | 255 | 会诊意见 | 文本描述 |
| ConfirmingPhysician | Text | 50 | 提交会诊的医生 | 医生姓名 |
| ConfirmingPhysicianID | Text | 20 | 提交会诊的医生ID | 医生唯一标识 |
| ConfirmingDate | DateTime | - | 提交会诊日期 | YYYY-MM-DD HH:MM:SS |
| Signature | Text | 50 | 结束会诊医生 | 医生姓名 |
| SignatureDate | DateTime | - | 结束会诊日期 | YYYY-MM-DD HH:MM:SS |
| cancelnatureDate | DateTime | - | 作废会诊日期 | YYYY-MM-DD HH:MM:SS |
| InvitedObject | Text | 50 | 会诊邀请对象 |
诊状态用于记录会诊申请在不同阶段的状态,以下是常见的会诊状态及其说明:
| 状态名称 | 状态值 | 描述 |
|---|---|---|
| 新开 | 0 | 会诊申请单已保存 |
| 已提交 | 10 | 会诊申请已提交,但尚未被会诊医生确认。 |
| 已确认 | 20 | 会诊医生已确认会诊申请,并准备进行会诊。 |
| 已签名 | 30 | 会诊完成后进行签名 |
| 已完成 | 40 | 会诊已经完成,会诊意见已记录。 |
| 已取消 | 50 | 会诊申请被取消,可能由于患者情况变化或其他原因,申请医生进行作废操作。 |
门诊医嘱表在相关会诊操作步骤的相关事务
把“门诊会诊申请”当成一种特殊医嘱(OrderType = 'Consult')由系统在同一事务内自动插入 门诊医嘱表,再挂到 ConsultationRequest 注意:按照现有系统的门诊医嘱表进行设置相关字段的值
| 节点 | 是否自动 | 说明 |
|---|---|---|
| 医生点击【保存】 | ✅ | 后台事务:先插门诊医嘱表(医嘱状态为“新开”),再插ConsultationRequest.Status=0 |
| 医生点击【提交】 | ✅ | 仅更新两表状态 → 门诊医嘱表的医嘱状态和ConsultationRequest.Status=10 (已提交),不重复生成医嘱 |
| 医生点击【作废/删除】 | ✅ | 自动将门诊医嘱表的医嘱状态字段置为“作废”,级联ConsultationRequest.Status=50 |
| 医生点击【结束】 | ✅ | 将 门诊医嘱表的医嘱状态字段置为“已完成”,同时写ConsultationRequest.Status=40 |
六、开发实现要点
样式规范:
- 主色调:#1890FF(操作按钮)
- 辅助色:#13C2C2(打印)、#52C41A(保存)、#FF4D4F(结束)
- 字体规范:14px/1.5,中文字体优先使用"PingFang SC"
- 间距系统:16px基准,表单行间距12px
- 组件样式:
- 按钮:4px圆角,32px高度
- 输入框:4px圆角,1px #D9D9D9边框
- 表格行:选中状态#E6F7FF背景+左侧3px蓝色边框
技术要求:
- 浏览器兼容:支持Chrome/Firefox/Edge最新版
- 性能要求:表单提交响应时间<1秒
注意事项:
- 时间字段需统一处理为YYYY-MM-DD HH:mm:ss格式
- 申请单号生成需加锁防止重复
- 移动端需优化表格横向滚动体验
- 打印功能需特殊样式处理(隐藏操作按钮)