物价项目台账生成器(price-catalog-log)
一句话结论:给你一张能直接备查的收费项目价格台账——四场景(现行价格/调价跟踪/批量调价/月度汇总)逐项目可追溯,调价未登依据整行标红,新旧价差自动算,【待填】红字清点,缺什么一眼看到。
本页导航:菜单式选路 → 对话示例 → 快速上手与退出码表 → 字段与判定口径 → 铁律(医疗合规四关)→ 能力边界量化表 → 岗位场景例子 → 边界提醒 → 文件索引。
菜单式选路
使用者开口后按场景引导,一次一问补要素:
第一步 · 选场景(回复序号或场景名均可):
- ① 现行价格台账(项目编码/名称/计价单位/现行价格/生效日期/文件依据(物价文件抄录),价格未登依据标红)
- ② 调价记录跟踪(原价格/新价格/价差自动算/调价日期/文件依据,调价未登依据标红)
- ③ 批量调价登记(一次文件调价多个项目:调价日期与文件依据统一抄录,逐项目原价/新价/价差自动算)
- ④ 月度调价汇总(月份/调价笔数/涨价笔数/降价笔数/价差合计/文件依据,笔数勾稽与依据缺失标红)
第二步 · 给数据(任选一种):
1. 粘贴/口述台账记录(按场景逐行给:项目编码、名称、价格、文件依据……缺的项不用编)
2. --preset 场景名 --save 骨架.json 生成填写骨架,填好 --input 回来
3. --demo 先看脱敏样例长什么样
4. 直接要空模板(8 行【待填】占位)
第三步 · 出台账:xlsx 双表 = 登记明细(异常行整行标红 + 【待填】红字 + 冻结表头)+ 统计汇总(异常清单/【待填】清点/隐私与合规提示)。
不知道选什么?直接说需求,我给你列选项,回个序号就出表。
对话示例
> 用户:帮我弄个物价项目价格台账
> 助手:好的,先选场景(回序号或场景名):①现行价格台账 ②调价记录跟踪 ③批量调价登记 ④月度调价汇总
> 用户:2
> 助手:好的,调价记录跟踪。请按调价笔逐行给数据,一次一笔,缺的跳过不编:
> 1. 调价日期?2. 项目编码+项目名称?(示例:2026-10-01 ZJ01020301 门诊诊查费)
> 用户:2026-10-01 ZJ01020301 门诊诊查费,原价 9 元,新价 10 元
> 助手:要素齐全(一句话直通车确认风险项:文件依据未提供→该行将标红「调价未登依据」,请补物价文件)。生成台账:1 行,1 个异常行(红),1 个【待填】。
快速上手
# 场景菜单
python scripts/make_price_catalog_log.py --presets
# 脱敏示例(--date 固定台账日期,可复现)
python scripts/make_price_catalog_log.py --demo --out 台账.xlsx --date 2026-11-01
# 指定场景(回序号 1/2/3/4 或场景名均可)
python scripts/make_price_catalog_log.py --preset 调价记录跟踪 --out 10月调价跟踪.xlsx
# 从填写好的骨架生成
python scripts/make_price_catalog_log.py --input 骨架.json --out 台账.xlsx
# 空模板(8 行【待填】占位)
python scripts/make_price_catalog_log.py --preset 批量调价登记 --out 空模板.xlsx
输出预览
以下为 --demo --date 2026-11-01(场景① 现行价格台账)输出的文本摘录(截取自实际生成的 xlsx 关键单元格;完整摘录与逐格复现命令见 assets/preview.md):
| 序号 | 项目编码 | 项目名称 | 计价单位 | 现行价格(元) | 生效日期 | 文件依据(物价文件抄录) | 备注 |
|---|---|---|---|---|---|---|---|
| 1 | ZJ01020301 | 门诊诊查费 | 次 | 10.00 | 2026-01-01 | 市医保发〔2026〕3号 附件1 | |
| 4 | ZJ04010203 | 阑尾切除术 | 次 | 960.00 | 2026-01-01 | 【待填】 | ⚠️ 价格未登依据——现行价格须抄录物价文件依据…(整行标红) |
| 5 | 【待填】 | 心电图检查 | 次 | 26.00 | 2026-01-01 | 市医保发〔2026〕3号 附件2 | ⚠️ 项目编码缺失——价格台账须逐项目可追溯…(整行标红) |
| 6 | ZJ05050108 | 【待填】 | 次 | 【待填】 | 【待填】 | 【待填】 | ⚠️ 项目名称缺失——价格台账须逐项目可追溯…(整行标红) |
统计汇总(截取前几行):登记场景=现行价格台账|台账日期=2026-11-01|登记行数=6|异常行数(红)=3|【待填】单元格=6。
退出码表(脚本 scripts/make_price_catalog_log.py,v1.0.0)
| 退出码 | 含义 | 处理 |
|---|---|---|
| 0 | 台账生成成功 | — |
| 10 | 输入文件不存在(沿用现有体系约定) | 核对 --input 路径 |
| 11 | 输入缺失:缺 items / items 非数组 / --save 未指定 --preset |
按 {"items": [ … ]} 结构补齐 |
| 12 | 格式错误:JSON 无法解析 / items 项非对象 / --date 无法识别 |
核对 JSON 语法与日期格式 |
| 13 | 隐私拦截:输入检测到姓名明文(经办人张三/张某某式)、身份证号、手机号 | 去除敏感个人信息后重试;人员标识仅可用工号(错误提示不回显敏感值) |
| 14 | 校验失败:预设名不存在 | 见 --presets 菜单(回序号/场景名均可) |
| 15 | 运行超时(60 秒看门狗) | 重跑同一条命令 |
| 20 | 解析失败 / 输出失败等未预期异常(兜底) | 把输入 JSON 与提示发给助手排查 |
| 21 | 缺依赖 | pip install openpyxl 后重跑 |
单行日期/价格格式错误不中断整份台账:该格转【待填】红字并在备注注明原因,汇总页计入清点;文件级错误才整体退出。
字段与判定口径
- ① 现行价格台账(8 列):序号 / 项目编码 / 项目名称 / 计价单位 / 现行价格(元) / 生效日期 / 文件依据(物价文件抄录) / 备注
- ② 调价记录跟踪(9 列):序号 / 调价日期 / 项目编码 / 项目名称 / 原价格(元) / 新价格(元) / 价差(元) / 文件依据(物价文件抄录) / 备注
- ③ 批量调价登记(10 列):序号 / 调价日期 / 文件依据(物价文件抄录) / 项目编码 / 项目名称 / 计价单位 / 原价格(元) / 新价格(元) / 价差(元) / 备注
- ④ 月度调价汇总(8 列):序号 / 月份 / 调价笔数 / 涨价笔数 / 降价笔数 / 价差合计(元) / 文件依据(物价文件抄录) / 备注
异常行整行标红(写入备注 ⚠️ 提示,人工核对):
- 现行价格台账:价格未登依据(现行价格已填而文件依据缺失)|项目编码/项目名称缺失|价格为负数
- 调价记录跟踪:调价未登依据(调价记录未抄录物价文件依据)|项目编码/项目名称缺失|价格为负数
- 批量调价登记:调价未登依据(依据缺失)|调价日期缺失(批量调价须统一登记日期与依据)|项目编码/项目名称缺失|价格为负数
- 月度调价汇总:调价笔数>0 而文件依据缺失(调价未登依据)|涨价笔数+降价笔数 > 调价笔数|笔数为负数
软提示(备注 ℹ️ 提示,不标红):日期/月份格式无法识别、数值无法识别(该格转【待填】);原价格未填时价差暂记【待填】并提示补齐后自动计算(工具不代算);涨价+降价笔数少于调价笔数(「如无其他调价情形请核对」)。
- 【待填】单元格红字标红,汇总页清点数量并提示「未补齐视为登记未完成」
- 价差/价差合计为纯算术推导(源自已抄录价格),输入不全则为【待填】,绝不代算代填;价差可正可负(降价为负),不参与负数标红
- 价格支持整数/小数(单位元);日期支持
2026-03-15/2026.3.15/2026/3/15/2026年3月15日/20260315,月份可直接填2026-10/2026年10月 - 人员标识只能填工号;工具默认场景为①现行价格台账,
--input的 JSON 里也可写"preset": "场景名"自动选路;骨架顶层的date/dept回读时同样生效(命令行--date/--dept优先级更高,同时给出时覆盖骨架值)
铁律(医疗合规四关)
- 不核定价、不解读物价政策:只做价格与依据的登记台账;定价、调价与政策解释属有权部门职权,口径以物价文件及本院物价管理规定为准,台账只做抄录留痕
- 隐私硬拦截:脚本检测到姓名明文(含「经办人张三」「张某某」式结构)、身份证号、手机号 → 退出码 13 直接拒绝处理(错误提示不回显敏感值);人员标识仅可用工号
- 数据不出机:台账本地生成,无网络请求;价格台账按院内数据安全管理规定流转
- 不编造不代填:价格与文件依据全部由物价文件/系统抄录,缺失一律【待填】标红,汇总页清点;价差只做算术推导,绝不代填数值
能力边界量化表
| 能做 | 不做(明确边界) |
|---|---|
| 四场景价格台账生成(xlsx 双表,可打印备查) | 不核定价:不测算成本、不拟调价方案、不出定价建议 |
| 调价未登依据标红(依据抄录留痕闭环) | 不解读物价政策:文件含义、适用范围、执行口径以发文部门解释为准 |
| 新旧价差自动计算(纯算术推导,标注来源) | 不做价格合规审查:收费是否多收少收、价格执行是否到位须专项检查 |
| 【待填】清点与补填提示(不代填) | 不替代物价管理系统:无收费项目库联动、无自动调价生效、无上报接口 |
| 隐私拦截(退出码 13,姓名明文/身份证/手机号) | 不校验抄录价格与文件的一致性(逐字核对须人工完成) |
| 本地生成、数据不出机 | 不识别或处理物价文件扫描件;输入仅支持 JSON 文本 |
岗位场景例子
- 财务物价科物价岗:「新文件下来,全院收费项目价格要建台账」→ 选 ① → 逐项目登记,价格没登依据的行直接红
- 物价岗:「文件调价了,逐笔记调价过程」→ 选 ② → 价差自动算,没附文件依据的调价标红
- 物价岗:「一个文件调了几十个项目」→ 选 ③ → 日期与依据统一抄录,逐项目原价/新价登记
- 月底备查:「本月调价情况汇总」→ 选 ④ → 笔数勾稽 + 依据清点 + 【待填】清零
边界提醒
- 本工具不替代物价管理系统;价格台账按院内财务档案要求归档备查
- 「文件依据(物价文件抄录)」列只做文号/条款的抄录登记,本工具不解读、不引用文件具体内容,执行口径以发文部门与本院物价管理部门解释为准
- 项目编码/人员标识列只填编码与工号,不得填写姓名明文——脚本对姓名明文/身份证/手机号是硬拦截(退出码 13)
文件索引
| 文件 | 用途 |
|---|---|
| scripts/make_price_catalog_log.py | 核心:CLI 成稿 + 四场景判定 + 价差自动算 + 调价未登依据标红 + 隐私拦截 + 错误码兜底 |
| references/price-catalog-guide.md | 价格台账实践参考:现行价登记/调价跟踪/批量调价/月度汇总台账口径 |
| assets/faq.md | 常见问题 12 条(隐私拦截/依据登记/价差计算/待填卡点/系统边界等) |
| assets/anti-patterns.md | 反模式集中清单(错误操作+后果+替代) |
| assets/preview.md | 成稿预览(真实输出摘录+逐格复现命令) |
| assets/input-example.json | 输入示例(脱敏,可直接 --input 试跑) |
| beta-test/run_tests.py | 内测回归脚本(隐私拦截/退出码/调价未登依据标红/价差不代算/待填不编造等) |
FAQ 快捷导航:帮我定价→Q1|没数据能生成吗→Q2|为什么被拒绝(13)→Q3|依据怎么填→Q4|价格填错→Q5|标红是不是判定我出错→Q6|和物价管理系统→Q7|数据外传→Q8|【待填】算完成吗→Q9|场景怎么选→Q10|价差能代算吗→Q11|价差为负正常吗→Q12。