22 KiB
门诊医生站传染性报卡登记PRD文档
一、页面概述
页面名称:门诊医生站传染性报卡登记 页面目标:帮助医生完成法定传染病病例的电子报告卡填写与提交 适用场景:医生确诊或疑似发现法定传染病病例时,进行报卡登记 页面类型:表单页(复杂表单)
核心功能:
- 患者基本信息录入(含身份验证)
- 传染病分类选择与疾病诊断信息登记
- 病例分类与流行病学信息记录
- 数据校验与表单提交
- 地址四级联动选择(省-市-区县-街道)
用户价值:
- 规范传染病报告流程,确保数据完整准确
- 减少手工填写错误,提高上报效率
- 自动关联患者基本信息,减少重复录入
- 内置校验规则防止漏报错报
原型图地址:https://static.pm-ai.cn/prototype/20260128/6041dcc237645108aa9e917e8d57705f/index.html 流程图:
flowchart TD
A(["开始报卡"]) --> B["填写患者基本信息"]
B --> C{"身份证格式错误"}
C -- 是 --> D["提示请输入有效身份证号码"]
C -- 否 --> E{"患者年龄≤14岁"}
E -- 是 --> F["显示家长姓名输入框"]
E -- 否 --> G["隐藏家长姓名输入框"]
F --> H["填写现住地址"]
G --> H
H --> I{"地址加载失败"}
I -- 是 --> J["显示手动输入选项"]
I -- 否 --> K["选择疾病分类"]
J --> K
K --> L{"选择特定疾病"}
L -- 是 --> M["显示疾病分型选择"]
L -- 否 --> N["跳过分型选择"]
M --> O["填写发病/诊断日期"]
N --> O
O --> P{"日期逻辑错误"}
P -- 是 --> Q["提示发病日期不能晚于诊断日期"]
P -- 否 --> R["填写报告信息"]
Q --> R
R --> S["表单校验"]
S --> T{"校验失败"}
T -- 是 --> U["显示错误提示"]
T -- 否 --> V["保存报卡"]
U --> S
V --> W{"点击重置按钮"}
W -- 是 --> X["保留关键信息重置其他字段"]
X --> S
V --> Y{"点击关闭按钮"}
Y -- 是 --> Z{"确认关闭"}
Z -- 是 --> AA(["结束流程"])
Z -- 否 --> V
二、整体布局分析
页面宽度:自适应布局 主要区域划分:
- 顶部标题区(5%):展示表单标题和卡片编号
- 患者信息区(30%):患者基本信息、联系方式、现住地址等
- 疾病信息区(50%):疾病分类选择、发病/诊断日期、疾病分型等
- 报告信息区(10%):报告单位、医生、填卡日期等
操作按钮区(5%):保存、重置、关闭按钮 布局特点:上下布局,采用响应式网格,表单分组清晰,必填项高亮标识
三、页面区域详细描述
1. 标题区
区域位置:页面顶部 区域尺寸:高度60px 区域功能:展示表单标题和唯一编号标识 包含元素:
-
表单标题
-
- 元素类型:标题文本
- 默认内容:“中华人民共和国传染病报告卡”
- 样式要求:20px字号,深蓝色(#2c3e50),居中加粗
-
卡片编号
-
- 元素类型:输入框
- 默认值:空
- 提示文字:“单位自编,与网络直报一致”
- 交互行为:支持手动输入12位编号
- 样式要求:12px灰色文字,带下划线分隔线
2. 患者基本信息区
区域位置:标题区下方 区域功能:采集患者核心身份信息、联系方式、居住地等 包含元素:
-
患者姓名输入框
-
- 元素类型:文本输入框,自动引入当前就诊患者信息的姓名
- 校验规则:必填项,支持中文姓名2-10字
-
家长姓名输入框
-
- 元素类型:文本输入框
- 条件显示:当系统计算年龄≤14岁时自动显示必填标识
-
身份证号输入框
-
- 元素类型:文本输入框,自动引入当前就诊患者信息的身份证号
- 校验规则:必填项,自动校验18位身份证格式
-
性别选择
-
- 元素类型:单选按钮组
- 选项:男/女/未知,自动匹配当前就诊患者信息的性别
- 默认值:必填项
-
出生日期输入
-
- 元素类型:复合输入区域
- 包含:年(4位)/月(2位)/日(2位)三个输入框,自动匹配当前就诊患者信息的出生年月
- 联动逻辑:自动计算实足年龄并填充到年龄输入框
-
工作单位输入框
-
- 元素类型:文本输入框,自动引入当前就诊患者信息的工作单位
- 特殊场景:学生自动关联学校信息
-
联系电话
-
- 元素类型:电话输入框,自动引入当前就诊患者信息的联系方式
- 校验规则:必填,11位手机号或带区号固话
-
紧急联系人电话
-
- 元素类型:电话输入框
- 校验规则:必填,11位手机号或带区号固话
-
病人属于
-
- 复选框类型:通过现地址自动判断
- 校验规则:必填
-
职业
-
- 下拉选项类型:取值于字典管理的字典名称为“职业”维护的数据
- 校验规则:必填
3. 现住地址选择区
区域功能:四级联动地址选择(省-市-区县-街道) 交互逻辑:
- 省份选择后动态加载对应城市
- 城市选择后动态加载区县
- 区县选择后动态加载街道
- 村(居)和门牌号为手动输入 数据要求:
- 初始默认值:省-市-区县-街道(自动引入当前就诊患者信息的现住址)
- 异常处理:当上级未选择时禁用下级选择
4. 疾病信息区
区域功能:选择传染病类型及相关临床信息 包含元素:
-
疾病分类选择:
-
- 布局方式:网格布局(3列)
- 分类:甲类/乙类/丙类传染病
- 交互行为:多选但同类别互斥
- 特殊处理:选择炭疽/肺结核/病毒性肝炎/疟疾/梅毒/血吸虫病等疾病时激活分型选择
-
疾病复选框互斥逻辑:
-
- 选择炭疽病时显示分型选项(肺炭疽/皮肤炭疽/胃肠炭疽/未分型)
- 选择肺结核时显示分型选项(涂阳/仅培阳/菌阴/未痰检)
- 选择病毒性肝炎时显示分型选项(甲/乙/丙/戊型)
- 选择疟疾时显示分型选项(间日疟/恶性疟/三日疟/卵形疟/未分型)
- 选择梅毒时显示分型选项(Ⅰ期/Ⅱ期/Ⅲ期/胎传/隐性)
- 选择血吸虫病时显示分型选项(急性/慢性/晚期/未分型)
-
分型选择:
-
- 元素类型:动态下拉框
- 数据源:根据疾病类型动态加载
- 示例:肺结核→涂阳/仅培阳/菌阴/未痰检
-
其他法定管理以及重点监测传染病输入框:
-
- 手动输入非列表疾病
- 自动关联传染病代码库
-
发病日期:
-
- 元素类型:日期选择器
- 验证规则:不得晚于诊断日期
-
诊断日期:
-
- 元素类型:日期选择器
- 取值:默认当前系统时间
-
死亡日期:
-
- 元素类型:日期选择器
- 填写规则:根据实际情况填写
-
病例分类
-
- 复选框类型: 1疑似病例/2临床诊断病例/3确诊病例/4病原携带/5阳性检测结果
- 校验规则:必填
5. 报告信息区
区域功能:记录报告单位和责任人信息等 包含元素:
-
报告单位:
-
- 元素类型:文本输入
- 默认值:当前登录医院
- 交互行为:只读
-
联系电话:
-
- 元素类型:文本输入
- 默认值:当前登录医院的联系电话
- 交互行为:可编辑
-
报告医生:
-
- 元素类型:文本输入
- 默认值:当前登录医生
- 验证规则:必填
-
填卡日期
-
- 默认当前系统日期,显示为"YYYY-MM-DD"格式
-
修订病名
-
- 元素类型:文本输入
- 默认值:空
- 填写:自定义编辑
-
退卡原因
-
- 元素类型:文本输入
- 默认值:空
- 填写:自定义编辑
-
备注
-
- 元素类型:文本输入
- 默认值:空
- 填写:自定义编辑
6. 操作按钮区
区域位置:页面底部 包含元素:
-
保存按钮:
-
- 元素类型:主要操作按钮
- 交互行为:触发表单验证,通过后保存
- 样式特征:蓝色(#3498db),圆角8px
-
重置按钮:
-
- 交互行为:清除非基础信息字段
- 特殊处理:保留患者姓名、身份证等关键信息
-
关闭按钮:
-
- 交互行为:二次确认后关闭页面
- 样式特征:红色(#e74c3c)
四、交互功能详细说明
1. 地址联动选择
触发条件:选择省级行政区 操作流程:
- 选择省份→加载该省下所有城市
- 选择城市→加载该市所有区县
- 选择区县→加载街道列表 异常处理:网络错误时显示"加载失败,请手动输入"
2. 疾病分型联动
触发条件:选择特定疾病 数据映射:
| 疾病类型 | 分型选项 |
|---|---|
| 肺结核 | 涂阳/仅培阳/菌阴/未痰检 |
| 梅毒 | I期/II期/III期/胎传/隐性 |
| 炭疽 | 肺炭疽/皮肤炭疽/胃肠炭疽/未分型 |
| 病毒性肝炎 | 甲/乙/丙/戊型 |
| 疟疾 | 间日疟/恶性疟/三日疟/卵形疟/未分型 |
| 血吸虫病 | 急性/慢性/晚期/未分型 |
3. 表单验证
全局验证:
- 提交时检查必填字段
- 验证身份证号格式
- 确保至少选择一种疾病 字段级验证:
- 电话号码:11位数字,错误提示“请输入有效的联系电话”
- 发病日期≤诊断日期≤填卡日期,错误提示“发病日期不能晚于诊断日期”
- 身份证号18位且符合校验算法,错误提示“请输入有效的身份证号码”
五、数据结构说明
传染病报卡表(infectious_card)
| 字段 | 类型 | 国标含义 | 来源**/**说明 |
|---|---|---|---|
| card_no | VARCHAR(20) PK | 卡片编号 | 机构代码+年月日+4位流水 |
| visit_id | BIGINT FK | 本次就诊ID | adm_encounter.id |
| diag_id | BIGINT FK | 诊断记录唯一ID | adm_encounter_diagnosis.condition_id |
| pat_id | BIGINT FK | 患者主索引 | adm_patient.id |
| id_type | TINYINT | 证件类型 | |
| id_no | VARCHAR(30) | 证件号码 | 18位校验 |
| pat_name | VARCHAR(50) | 患者姓名 | |
| parent_name | VARCHAR(50) | 家长姓名 | ≤14岁必填 |
| sex | CHAR(1) | 性别 | 1男/2女/0未知 |
| birthday | DATE | 出生日期 | |
| age | INT | 实足年龄 | 函数计算 |
| age_unit | CHAR(1) | 年龄单位 | 岁/月/天-》1岁/2月/3天 |
| workplace | VARCHAR(100) | 工作单位 | 学生填学校 |
| phone | VARCHAR(20) | 联系电话 | 患者本人电话 |
| contact_phone | VARCHAR(20) | 紧急联系人电话 | |
| address_prov | VARCHAR(6) | 现住址省 | GB2260 |
| address_city | VARCHAR(6) | 现住址市 | 同上 |
| address_county | VARCHAR(6) | 现住址县 | 同上 |
| address_town | VARCHAR(9) | 现住址街道 | 同上 |
| address_village | VARCHAR(80) | 现住址村/居委 | |
| address_house | VARCHAR(40) | 现住址门牌号 | |
| patient_belong | TINYINT | 病人属于 | 系统判定,1本县区/2本市其他/3本省其他/4外省/5港澳台/6外籍 |
| occupation | VARCHAR(4) | 职业 | GB/T 6565,取值于字典管理的字典名称为“职业”维护的数据 |
| disease_code | VARCHAR(8) | 疾病名称 | WS 218-2020,见下表 |
| disease_type | VARCHAR(8) | 分型 | 见下表,6类必分型疾病必填 |
| other_disease | VARCHAR(50) | 其他法定管理以及重点监测传染病 | |
| case_class | TINYINT | 病例分类 | 1疑似病例/2临床诊断病例/3确诊病例/4病原携带/5阳性检测结果 |
| onset_date | DATE | 发病日期 | 默认诊断时间,病原携带者填初检日期 |
| diag_date | DATETIME | 诊断日期 | 精确到小时 |
| death_date | DATE | 死亡日期 | 死亡病例必填 |
| correct_name | VARCHAR(50) | 订正病名 | 订正报告必填 |
| withdraw_reason | VARCHAR(100) | 退卡原因 | 退卡时必填 |
| report_org | VARCHAR(18) | 报告单位 | 统一信用代码(医院名称) |
| report_org_phone | VARCHAR(20) | 联系电话 | 报告单位电话:医院总值班/防保科座机 |
| report_doc | VARCHAR(20) | 报告医生 | 医生姓名 |
| report_date | DATE | 填卡日期 | 当天日期 |
| status | TINYINT | 状态 | 0暂存1已提交2已审核3已上报4失败5作废 |
| fail_msg | VARCHAR(500) | 失败原因 | 国家平台返回 |
| xml_content | TEXT | 上报XML | 日志 |
| create_time | DATETIME | 创建时间 | |
| update_time | DATETIME | 更新时间 | |
| card_name_code | TINYINT | 报卡名称代码 | 数值对照(取值于字典管理-》报卡名称代码)1-中华人民共和国传染病报告卡 |
| registration source | TINYINT | 登记来源 | 1门诊/2住院 |
| dept_id | TINYINT | 科室ID | 患者当前就诊科室 |
| doctor_id | TINYINT | 医生ID | 患者当前开单医生 |
甲类传染病(2 种)―― 01xxxx
| disease_code | 疾病名称 | 国家平台码 |
|---|---|---|
| 0101 | 鼠疫 | 甲类 |
| 0102 | 霍乱 | 甲类 |
存值示例:0101(鼠疫)、0102(霍乱)
乙类传染病(27 种)―― 02xxxx
| disease_code | 疾病名称 | 国家平台码 |
|---|---|---|
| 0201 | 传染性非典型肺炎 | 乙类(按甲类管理) |
| 0202 | 艾滋病 | 乙类 |
| 0203 | 病毒性肝炎 | 乙类 |
| 0204 | 脊髓灰质炎 | 乙类(按甲类管理) |
| 0205 | 人感染高致病性禽流感 | 乙类(按甲类管理) |
| 0206 | 麻疹 | 乙类 |
| 0207 | 流行性出血热 | 乙类 |
| 0208 | 狂犬病 | 乙类 |
| 0209 | 流行性乙型脑炎 | 乙类 |
| 0210 | 登革热 | 乙类 |
| 0211 | 炭疽 | 乙类(按甲类管理) |
| 0212 | 细菌性和阿米巴性痢疾 | 乙类 |
| 0213 | 肺结核 | 乙类 |
| 0214 | 伤寒和副伤寒 | 乙类 |
| 0215 | 流行性脑脊髓膜炎 | 乙类 |
| 0216 | 百日咳 | 乙类 |
| 0217 | 白喉 | 乙类 |
| 0218 | 新生儿破伤风 | 乙类 |
| 0219 | 猩红热 | 乙类 |
| 0220 | 布鲁氏菌病 | 乙类 |
| 0221 | 淋病 | 乙类 |
| 0222 | 梅毒 | 乙类 |
| 0223 | 钩端螺旋体病 | 乙类 |
| 0224 | 血吸虫病 | 乙类 |
| 0225 | 疟疾 | 乙类 |
存值示例:乙肝→0203;肺结核→0213;梅毒→0222
丙类传染病(11 种)―― 03xxxx
| disease_code | 疾病名称 | 国家平台码 |
|---|---|---|
| 0301 | 流行性感冒 | 丙类 |
| 0302 | 流行性腮腺炎 | 丙类 |
| 0303 | 风疹 | 丙类 |
| 0304 | 急性出血性结膜炎 | 丙类 |
| 0305 | 麻风病 | 丙类 |
| 0306 | 流行性和地方性斑疹伤寒 | 丙类 |
| 0307 | 黑热病 | 丙类 |
| 0308 | 包虫病 | 丙类 |
| 0309 | 丝虫病 | 丙类 |
| 0310 | 其它感染性腹泻病 | 丙类 |
| 0311 | 手足口病 | 丙类 |
存值示例:手足口病→0311;流感→0301
分型码与名称对照(系统存值用)
| 大类疾病 | disease_code | 分型中文 | disease_type 存值 |
|---|---|---|---|
| 病毒性肝炎 | 0203 | 甲型 | 020301 |
| 乙型 | 020302 | ||
| 丙型 | 020303 | ||
| 戊型 | 020304 | ||
| 未分型 | 020305 | ||
| 炭疽 | 0211 | 肺炭疽 | 021101 |
| 皮肤炭疽 | 021102 | ||
| 胃肠炭疽 | 021103 | ||
| 未分型 | 021104 | ||
| 肺结核 | 0213 | 涂阳 | 021301 |
| 仅培阳 | 021302 | ||
| 菌阴 | 021303 | ||
| 未痰检 | 021304 | ||
| 梅毒 | 0222 | Ⅰ期 | 022201 |
| Ⅱ期 | 022202 | ||
| Ⅲ期 | 022203 | ||
| 胎传 | 022204 | ||
| 隐性 | 022205 | ||
| 疟疾 | 0225 | 间日疟 | 022501 |
| 恶性疟 | 022502 | ||
| 三日疟 | 022503 | ||
| 卵形疟 | 022504 | ||
| 未分型 | 022505 | ||
| 血吸虫病 | 0224 | 急性 | 022401 |
| 慢性 | 022402 | ||
| 晚期 | 022403 | ||
| 未分型 | 022404 |
六、开发实现要点
样式规范:
- 主色调:#3498db(按钮/重要标签)
- 错误状态:#e74c3c(边框+文字)
- 表单间距:8px垂直间距,16px水平间距
技术要求:
- 支持Chrome/Firefox/Edge最新版
注意事项:
- 身份证号不需脱敏显示
