Files
his/md/需求/102-门诊医生站传染病报告卡登记-2026-1-28.md

505 lines
22 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 门诊医生站传染性报卡登记PRD文档
### 一、页面概述
**页面名称**:门诊医生站传染性报卡登记
**页面目标**:帮助医生完成法定传染病病例的电子报告卡填写与提交
**适用场景**:医生确诊或疑似发现法定传染病病例时,进行报卡登记
**页面类型**:表单页(复杂表单)
**核心功能**
1. 患者基本信息录入(含身份验证)
2. 传染病分类选择与疾病诊断信息登记
3. 病例分类与流行病学信息记录
4. 数据校验与表单提交
5. 地址四级联动选择(省-市-区县-街道)
**用户价值**
- 规范传染病报告流程,确保数据完整准确
- 减少手工填写错误,提高上报效率
- 自动关联患者基本信息,减少重复录入
- 内置校验规则防止漏报错报
**原型图地址**:https://static.pm-ai.cn/prototype/20260128/6041dcc237645108aa9e917e8d57705f/index.html
**流程图**:
```mermaid
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
```
### 二、整体布局分析
**页面宽度**:自适应布局
**主要区域划分**
1. **顶部标题区**5%):展示表单标题和卡片编号
2. **患者信息区**30%):患者基本信息、联系方式、现住地址等
3. **疾病信息区**50%):疾病分类选择、发病/诊断日期、疾病分型等
4. **报告信息区**10%):报告单位、医生、填卡日期等
**操作按钮区**5%):保存、重置、关闭按钮
**布局特点**:上下布局,采用响应式网格,表单分组清晰,必填项高亮标识
### 三、页面区域详细描述
#### 1. 标题区
**区域位置**:页面顶部
**区域尺寸**高度60px
**区域功能**:展示表单标题和唯一编号标识
**包含元素**
- 表单标题
- - 元素类型:标题文本
- 默认内容:“中华人民共和国传染病报告卡”
- 样式要求20px字号深蓝色(#2c3e50),居中加粗
- 卡片编号
- - 元素类型:输入框
- 默认值:空
- 提示文字:“单位自编,与网络直报一致”
- 交互行为支持手动输入12位编号
- 样式要求12px灰色文字带下划线分隔线
#### 2. 患者基本信息区
**区域位置**:标题区下方
**区域功能**:采集患者核心身份信息、联系方式、居住地等
**包含元素**
- 患者姓名输入框
- - 元素类型:文本输入框,自动引入当前就诊患者信息的姓名
- 校验规则必填项支持中文姓名2-10字
- 家长姓名输入框
- - 元素类型:文本输入框
- 条件显示当系统计算年龄≤14岁时自动显示必填标识
- 身份证号输入框
- - 元素类型:文本输入框,自动引入当前就诊患者信息的身份证号
- 校验规则必填项自动校验18位身份证格式
- 性别选择
- - 元素类型:单选按钮组
- 选项:男/女/未知,自动匹配当前就诊患者信息的性别
- 默认值:必填项
- 出生日期输入
- - 元素类型:复合输入区域
- 包含:年(4位)/月(2位)/日(2位)三个输入框,自动匹配当前就诊患者信息的出生年月
- 联动逻辑:自动计算实足年龄并填充到年龄输入框
- 工作单位输入框
- - 元素类型:文本输入框,自动引入当前就诊患者信息的工作单位
- 特殊场景:学生自动关联学校信息
- 联系电话
- - 元素类型:电话输入框,自动引入当前就诊患者信息的联系方式
- 校验规则必填11位手机号或带区号固话
- 紧急联系人电话
- - 元素类型:电话输入框
- 校验规则必填11位手机号或带区号固话
- 病人属于
- - 复选框类型:通过现地址自动判断
- 校验规则:必填
- 职业
- - 下拉选项类型:取值于字典管理的字典名称为“职业”维护的数据
- 校验规则:必填
#### 3. 现住地址选择区
**区域功能**:四级联动地址选择(省-市-区县-街道)
**交互逻辑**
1. 省份选择后动态加载对应城市
2. 城市选择后动态加载区县
3. 区县选择后动态加载街道
4. 村(居)和门牌号为手动输入
**数据要求**
- 初始默认值:省-市-区县-街道(自动引入当前就诊患者信息的现住址)
- 异常处理:当上级未选择时禁用下级选择
**字典取值跟新增患者的现住址保持一致(患者管理-)患者列表)**
![](media/clip_image001.png)
#### 4. 疾病信息区
**区域功能**:选择传染病类型及相关临床信息
**包含元素**
- **疾病分类选择**
- - 布局方式:网格布局(3列)
- 分类:甲类/乙类/丙类传染病
- 交互行为:多选但同类别互斥
- 特殊处理:选择炭疽/肺结核/病毒性肝炎/疟疾/梅毒/血吸虫病等疾病时激活分型选择
- **疾病复选框互斥逻辑:**
- - 选择炭疽病时显示分型选项(肺炭疽/皮肤炭疽/胃肠炭疽/未分型)
- 选择肺结核时显示分型选项(涂阳/仅培阳/菌阴/未痰检)
- 选择病毒性肝炎时显示分型选项(甲/乙/丙/戊型)
- 选择疟疾时显示分型选项(间日疟/恶性疟/三日疟/卵形疟/未分型)
- 选择梅毒时显示分型选项(Ⅰ期/Ⅱ期/Ⅲ期/胎传/隐性)
- 选择血吸虫病时显示分型选项(急性/慢性/晚期/未分型)
- **分型选择**
- - 元素类型:动态下拉框
- 数据源:根据疾病类型动态加载
- 示例:肺结核→涂阳/仅培阳/菌阴/未痰检
- **其他法定管理以及重点监测传染病输入框:**
- - 手动输入非列表疾病
- 自动关联传染病代码库
- **发病日期**
- - 元素类型:日期选择器
- 验证规则:不得晚于诊断日期
- **诊断日期**
- - 元素类型:日期选择器
- 取值:默认当前系统时间
- **死亡日期**
- - 元素类型:日期选择器
- 填写规则:根据实际情况填写
- **病例分类**
- - 复选框类型: 1疑似病例/2临床诊断病例/3确诊病例/4病原携带/5阳性检测结果
- 校验规则:必填
#### 5. 报告信息区
**区域功能**:记录报告单位和责任人信息等
**包含元素**
- **报告单位**
- - 元素类型:文本输入
- 默认值:当前登录医院
- 交互行为:只读
- **联系电话**
- - 元素类型:文本输入
- 默认值:当前登录医院的联系电话
- 交互行为:可编辑
- **报告医生**
- - 元素类型:文本输入
- 默认值:当前登录医生
- 验证规则:必填
- **填卡日期**
- - 默认当前系统日期,显示为"YYYY-MM-DD"格式
- **修订病名**
- - 元素类型:文本输入
- 默认值:空
- 填写:自定义编辑
- **退卡原因**
- - 元素类型:文本输入
- 默认值:空
- 填写:自定义编辑
- **备注**
- - 元素类型:文本输入
- 默认值:空
- 填写:自定义编辑
#### 6. 操作按钮区
**区域位置**:页面底部
**包含元素**
- **保存按钮**
- - 元素类型:主要操作按钮
- 交互行为:触发表单验证,通过后保存
- 样式特征:蓝色(#3498db)圆角8px
- **重置按钮**
- - 交互行为:清除非基础信息字段
- 特殊处理:保留患者姓名、身份证等关键信息
- **关闭按钮**
- - 交互行为:二次确认后关闭页面
- 样式特征:红色(#e74c3c)
### 四、交互功能详细说明
#### 1. 地址联动选择
**触发条件**:选择省级行政区
**操作流程**
1. 选择省份→加载该省下所有城市
2. 选择城市→加载该市所有区县
3. 选择区县→加载街道列表
**异常处理**:网络错误时显示"加载失败,请手动输入"
#### 2. 疾病分型联动
**触发条件**:选择特定疾病
**数据映射**
| **疾病类型** | **分型选项** |
| ------------ | ---------------------------------- |
| 肺结核 | 涂阳/仅培阳/菌阴/未痰检 |
| 梅毒 | I期/II期/III期/胎传/隐性 |
| 炭疽 | 肺炭疽/皮肤炭疽/胃肠炭疽/未分型 |
| 病毒性肝炎 | 甲/乙/丙/戊型 |
| 疟疾 | 间日疟/恶性疟/三日疟/卵形疟/未分型 |
| 血吸虫病 | 急性/慢性/晚期/未分型 |
#### 3. 表单验证
**全局验证**
1. 提交时检查必填字段
2. 验证身份证号格式
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最新版
**注意事项**
1. 身份证号不需脱敏显示