`refresh-clinic-names` 用 `any(organization_name)` 从源表派生诊所名。ClickHouse 的
`any()` 是**任取一个**,不是"取唯一的那个" —— 而诊所会改名,源表里同一个 id 存着历次名字。
2026-09-03 生产 DW 实测(fact_emr_treatment_out,66 家):
273393edd04e4aa4afe9347bb8a2da21
「正大诊所」 91,053 行 2016-07 ~ 2022-08 ← any() 抓到的
「花旗医院」 3,096 行 2023-06 ~ 2023-09
「瑞尔齿科上海花旗诊所」 42,646 行 2023-09 ~ 至今 ← 现名(宿主花名册也是这个)
· **66 家里 53 家(80%)有多个名字**,不是个案
· 旧名用了六七年,**行数往往碾压现名** → 换成"取最高频"一样错
· c59bfc52…(华贸)有 6 个名字,其中两个带前导 `\t`
按最高频/任取都会把停用多年的旧名当成现名下发给前端。改为按 time_field 取最新:
argMax(trimBoth(name), ifNull(toString(time), ''))
`trimBoth` 同时用在取值和 notEmpty 判定上 —— 只用在取值上的话,纯 `\t` 的行仍会被
当作有效名参与比较。
改动:
· 新增 clinic-directory.ts:buildClinicNameQuery / pickLatestNames 两个纯函数
(CLI 底部是 `void main()`,逻辑留在里面没法单测,故抽出)
· 文件源分支同口径 —— 原来是"遍历行、后者覆盖前者",行序即文件顺序,等于随机取名
· manifest schema 加 time_field;jvs-dw 配 updated_date,friday 配 updated_gmt_at
· 缺 time_field 时退化成字典序最大(只保证确定性,不保证是现名)并告警,不再 any()
生产 DW 实跑新 SQL 验证(只读,未写库):66 家全部派生成功,
273393ed… → 瑞尔齿科上海花旗诊所 ✅
c18cadf2… → 江苏瑞泰通善口腔学前街医院 ✅
仍带空白/空名的:0
⚠ ️ 生产 host.clinic_names 目前是空的({}),本次**不含**任何生产写入 ——
要不要跑这个 CLI 单独决策。另注:前端真实显示的诊所名以宿主换票传的
dictionary.clinics 为准(auth.controller 里它覆盖服务端派生值),
服务端这份只是打底,不能据此断言前端现在显示的是 GUID。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .claude | Loading commit data... | |
| .design-sync | Loading commit data... | |
| apps | Loading commit data... | |
| clickhouse/config.d | Loading commit data... | |
| deploy | Loading commit data... | |
| docs | Loading commit data... | |
| packages | Loading commit data... | |
| scripts | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .gitlab-ci.yml | Loading commit data... | |
| .npmrc | Loading commit data... | |
| .prettierrc | Loading commit data... | |
| README.md | Loading commit data... | |
| docker-compose.expose.yml | Loading commit data... | |
| docker-compose.managed.yml | Loading commit data... | |
| docker-compose.prod.yml | Loading commit data... | |
| docker-compose.yml | Loading commit data... | |
| eslint.config.mjs | Loading commit data... | |
| liu.cjs | Loading commit data... | |
| package.json | Loading commit data... | |
| pnpm-lock.yaml | Loading commit data... | |
| pnpm-workspace.yaml | Loading commit data... | |
| tsconfig.base.json | Loading commit data... | |
| turbo.json | Loading commit data... |