505 lines
22 KiB
Markdown
505 lines
22 KiB
Markdown
## 门诊医生站传染性报卡登记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. 村(居)和门牌号为手动输入
|
||
**数据要求**:
|
||
|
||
- 初始默认值:省-市-区县-街道(自动引入当前就诊患者信息的现住址)
|
||
- 异常处理:当上级未选择时禁用下级选择
|
||
|
||
**字典取值跟新增患者的现住址保持一致(患者管理-)患者列表)**
|
||

|
||
|
||
|
||
#### 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. 身份证号不需脱敏显示
|
||
|
||
|