zoehis-sys-param

zoehis-sys-param is a cursor rule for Cursor from zyx379/zoehis_workflow. It costs 997 tokens per session, scanned A, original, MIT.

A coding rule for ZOEHIS, a hospital information system, that explains when to use system-wide, page-specific, or business seed parameters. It shows how to read these settings in Java and Vue and how to define initial JSONL data.

In plain words
What is it for?
Adding or changing shared configuration, page switches, default values, validity periods, backend SQL filters, Vue parameter loading, and business parameter seed data.
Why use it?
It prevents developers from putting a setting in the wrong configuration system or guessing how an existing page handles its flags and defaults.

Cursor rule for Cursor

Written for Cursor: a Cursor rule (.mdc).

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/zyx379/zoehis_workflow/zoehis-sys-param
Clone the repo
git clone --depth 1 https://github.com/zyx379/zoehis_workflow

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for zoehis-sys-param

README.md
[![agentmods](https://agentmods.dev/badge/rules/zyx379/zoehis_workflow/zoehis-sys-param.svg)](https://agentmods.dev/rules/zyx379/zoehis_workflow/zoehis-sys-param)
Your own site
<a href="https://agentmods.dev/rules/zyx379/zoehis_workflow/zoehis-sys-param"><img src="https://agentmods.dev/badge/rules/zyx379/zoehis_workflow/zoehis-sys-param.svg" alt="Measured on agentmods" height="20"></a>
Per session 997 This file is loaded in full into every session.
When invoked 997 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00997 $0.00997
Opus 5 $0.00498 $0.00498
Sonnet 5 $0.00199 $0.00199
Haiku 4.5 $0.00100 $0.00100

Measured 6d ago against content hash 408a145fcbd2, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

zoehis-sys-param scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

dev/rules/zoehis-sys-param.mdc · 114 lines

How it starts

The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ZOEHIS 参数体系规范

核心区分

类型 API 用途 示例
系统参数 $getSysParamList / getSysParams 全局配置、跨页面共享、后端 SQL 联动 return_drug_new_valid_hours
页面参数 $getPageControlMap(configId) 单页面开关/默认值、UI 行为控制 oper_date_default_empty
业务参数 *BizSysParam.jsonl 系统参数种子数据、项目初始化 Charge/Inp 等业务域参数

判断原则

  1. 多个页面/接口共用 → 系统参数
  2. 仅单个页面行为控制 → 页面参数($getPageControlMap
  3. 首次使用前先查原页面已有参数体系,与同页面其他 flag 保持一致
  4. 不确定时列待确认点,不猜测

系统参数

后端读取

String val = sysParamService.getSysParam("param_name", "默认值");
  • 默认值 "0""" 表示关闭/不限制,兼容其他医院
  • 有效期类需求优先系统参数 + SQL 过滤 + 执行二次校验模式

前端读取

// Vue 页面中
const params = await this.$getSysParamList(['param1', 'param2'])
this.paramValue = params.param1 || '0'

jsonl 种子数据格式

{
  "paramEnglishName": "return_drug_new_valid_hours",
  "paramValue": "24",
  "paramName": "退药新开单有效小时数",
  "paramDesc": "新开状态退药单有效小时数,超时不可执行且列表不展示。0或空表示不限制",
  "orgId": "*",
  "creatorName": "需求负责人姓名",
  "checkerName": "需求负责人姓名"
}

页面参数

模式(固定三步)

// 1. data() 声明变量
data() {
  return {
    operDateDefaultEmptyFlag: null
  }
},

// 2. $getPageControlMap 回调中读取
methods: {
  async loadPageParams() {
    const map = await this.$getPageControlMap('130201')
    const cfg = map['130201'] || {}
    this.operDateDefaultEmptyFlag = !$.zoe.isNullOrEmpty(cfg.oper_date_default_empty)
      && cfg.oper_date_default_empty.state * 1 === 1
  },

  // 3. 使用处三元条件
  newOpenFun() {
    const t = this.$getServerTime()
    // ...
    operationDate: this.operDateDefaultEmptyFlag ? '' : t
  }
}
  • 页面参数 key 命名:snake_case(如 oper_date_default_empty),与代码变量 camelCase 对应
  • ConfigId 从页面已有 $getPageControlMap 调用处获取
  • 运维需在对应 configId 下配置 key,state=1 生效

提交规范(硬约束)

jsonl 必须单独 commit

*BizSysParam.jsonl(及同类参数文件)不得与功能代码同一 commit。

Commit 标题与作者

类型 标题格式 作者/审核
功能代码 [禅道号]【项目名称】需求标题
系统参数 [*111111*]增加系统参数【paramEnglishName】【禅道号】 creatorName + checkerName = 需求负责人姓名(如 zhouyanxi),禁止 zoehis-ai

Read the full file on GitHub · 114 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 114 lines · 997 tokens per session scan A 408a145fcbd2

Subscribe to this mod's changes

zoehis-sys-param is a cursor rule published in the GitHub repository zyx379/zoehis_workflow (2 stars, last pushed 1mo ago), licensed MIT. It adds 997 tokens to every session, about $0.0050 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.