Refine major department options

This commit is contained in:
Codex
2026-05-27 13:32:49 +08:00
parent b5f41c3dda
commit 2863b34d47
3 changed files with 65 additions and 3 deletions

40
患者首页处理/数据可视化网页端/app/main.py Normal file → Executable file
View File

@@ -52,6 +52,44 @@ PDF_DIR = Path(env("PDF_DIR", str(PROJECT_ROOT / "待处理-患者首页PDF"))).
SETTINGS_PATH = Path(env("REVIEW_SETTINGS_PATH", str(PROJECT_ROOT / "数据可视化网页端/review_settings.local.json"))).resolve()
APP_TIMEZONE = ZoneInfo(env("APP_TIMEZONE", "Asia/Shanghai") or "Asia/Shanghai")
DEFAULT_MAJOR_DEPARTMENT_OPTIONS = [
"肝胆外科及肝移植相关",
"普通外科及腹部外科",
"急诊医学科",
"重症医学科",
"骨科",
"泌尿外科",
"呼吸内科",
"耳鼻喉头颈外科",
"日间诊疗中心",
"乳腺外科",
"胸外科",
"肝病内科",
"感染科",
"肿瘤放疗科",
"消化内科",
"肿瘤外科",
"特需/涉外病房",
"老年外科",
]
def load_major_department_options() -> list[str]:
rule_path = PROJECT_ROOT / "数据处理工作区" / "01_配置规则" / "01_科室分类规则.json"
if rule_path.exists():
try:
data = json.loads(rule_path.read_text(encoding="utf-8"))
options = [str(group.get("大科室", "")).strip() for group in data.get("大科室列表", [])]
options = [option for option in options if option]
if options:
return options
except Exception: # noqa: BLE001
pass
return DEFAULT_MAJOR_DEPARTMENT_OPTIONS
MAJOR_DEPARTMENT_OPTIONS = load_major_department_options()
FIELD_GROUPS: list[dict[str, Any]] = [
{
@@ -81,7 +119,7 @@ FIELD_GROUPS: list[dict[str, Any]] = [
("discharge_dept", "出院科别", "text", None),
("discharge_ward", "出院病房", "text", None),
("hospital_days", "实际住院天数", "integer", None),
("major_department", "大科室", "text", None),
("major_department", "大科室", "select", MAJOR_DEPARTMENT_OPTIONS),
],
},
{