From 6f71c678bd26585d3eabef8e1cf85f5b4da2278e Mon Sep 17 00:00:00 2001 From: chenxianjing Date: Thu, 29 Jan 2026 22:39:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20md/=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../102-门诊医生站传染病报告卡登记-2026-1-28.md | 505 ++++++++++++++++++ 1 file changed, 505 insertions(+) create mode 100644 md/需求/102-门诊医生站传染病报告卡登记-2026-1-28.md diff --git a/md/需求/102-门诊医生站传染病报告卡登记-2026-1-28.md b/md/需求/102-门诊医生站传染病报告卡登记-2026-1-28.md new file mode 100644 index 00000000..b93d3e15 --- /dev/null +++ b/md/需求/102-门诊医生站传染病报告卡登记-2026-1-28.md @@ -0,0 +1,505 @@ +## 门诊医生站传染性报卡登记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. 身份证号不需脱敏显示 + + \ No newline at end of file