预约事实历来只有 doctor_id 没有姓名(前端/话术拿到裸 ID),而 DW 的
fact_appointment_out 每一行都带 resource_name。列名叫「排班资源名」有误导性,
先把它到底是不是医生姓名核实清楚:
· 椅位另有列 appo_chair(仅 3 个取值),资源另有 resource_id —— 不是它们
· resource_name 与 appo_doc_id 的绑定比与 resource_id 更紧
(本地 (doc_id,name) 140 组 < (resource_id,name) 151 组)
· 已到诊预约按 (患者,日期) 对当天病历 doctor_name:生产近 90 天
99,170/101,192 = 98.0% 命中;144,148 条明细里「id 对上而名字不对」与
「名字对上而 id 不对」各 0 条 → 就是 appo_doc_id 这个人的姓名
· create_name / appo_handler 是呼叫中心约号人(值形如 400-叶玉娇),
director_name 是另一个角色 —— 都排除
口径:doctor_name = **约号时约的那位医生**,不是实际接诊医生(改派时不同,
实际接诊仍以病历为准)。两个口径别混。
少数排班资源不是人而是房间/服务/台席("预约"/"学前街手术室"/"正畸咨询"),
生产近 180 天 9,838/1,047,901 = 0.94%,不拦的话时间轴每 106 条就出现一次
「预约医生」,详情页「主治医生」的最高频兜底还可能解析成「学前街手术室」。
故加 AppointmentParser.isPersonResource:
· 九词词表从那份实测清单反推,覆盖全部 19 个取值
· 误伤核验:生产 1,314 个真实医生名过规则,命中 1 个(「公共诊室」,
本身就是漏进病历的房间名)—— 真人零误伤
· 独立判据复核(不用词表):过闸的 428 个资源里 426 个的 id 在临床记录里
真的当过医生,漏网 105 行 = 0.010%
· 被拦下的原值不丢,另存 content.resource_name;
`WHERE resource_name IS NOT NULL AND doctor_name IS NULL` 即可审计
本地全量 reparse 验证(241,228 个版本 / 15 分钟):最新版 240,517 条,
resource_name 100%、doctor_name 99.83%,拦下 413 条全是非人资源;
逐行对源 transaction,(doctor_id, resource_name) 240,517/240,517 成对回溯。
前端零改动 —— facts-timeline 的预约分支本来就把医生拼进 note,只是取不到值。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| appointment.parser.ts | Loading commit data... | |
| complaint.parser.ts | Loading commit data... | |
| consultation.parser.ts | Loading commit data... | |
| diagnosis.parser.ts | Loading commit data... | |
| emr.parser.ts | Loading commit data... | |
| encounter.parser.ts | Loading commit data... | |
| image.parser.ts | Loading commit data... | |
| order.parser.ts | Loading commit data... | |
| parser.interface.ts | Loading commit data... | |
| parser.registry.ts | Loading commit data... | |
| payment.parser.ts | Loading commit data... | |
| recharge.parser.ts | Loading commit data... | |
| recommendation.parser.ts | Loading commit data... | |
| referral.parser.ts | Loading commit data... | |
| refund.parser.ts | Loading commit data... | |
| tooth-position.util.ts | Loading commit data... | |
| treatment.parser.ts | Loading commit data... | |
| visit-reception.parser.ts | Loading commit data... | |
| visit-registration.parser.ts | Loading commit data... |