clinical-decision-support 技能解析:构建安全、合规、可审计的临床决策支持研究评估工作流

发布时间:2026/9/10 13:56:52
clinical-decision-support 技能解析:构建安全、合规、可审计的临床决策支持研究评估工作流 clinical-decision-support 技能解析构建安全、合规、可审计的临床决策支持研究评估工作流【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills导读scientific-agent-skills仓库中的clinical-decision-support技能是一套面向研究用途的临床决策支持Clinical Decision SupportCDS评估工具链它用 7 份 JSON 模板 7 个零依赖 Python 脚本帮助科研团队从研究问题框架搭建一路做到证据概况GRADE、模型/生物标志物评估、队列表、生存分析计划、隐私流程与治理可追溯性的完整研究级文档产物。阅读本文后你将掌握该技能的安全边界设计、数据门禁原理、模板/脚本的一一对应关系、各脚本的完整 CLI 参数与运行方式以及如何结合仓库内置测试完成本地验证。硬性前提本技能仅产出研究、评估、文档与治理类制品绝不用于个体诊疗、剂量计算、分诊告警或任何实时临床场景。一、核心定位研究评估制品工厂而非临床决策引擎该技能定义在 skills/clinical-decision-support/SKILL.mdFront Matter 明确其边界name: clinical-decision-support description: Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. license: MIT compatibility: Python 3.11; local files only; bundled scripts use the standard library and require no network, credentials, API keys, LLMs, or image services. metadata: version: 2.1三个关键词可以概括设计哲学研究专用research-only、本地文件local files only、零依赖standard library only。所有辅助脚本只用 Python 标准库解析本地 JSON不访问网络、不读取环境变量、不调用任何模型。1.1 硬性安全边界Hard Safety Boundary技能严禁将任何输出用于以下用途对个体进行诊断或分类推荐、选择、排序、开始、停止或调整治疗方案计算或传达患者特定剂量分诊、优先级排序、告警或判定紧急程度做出或自动化任何患者特定的临床决策支撑床旁、即时或实时临床操作替代专业判断或经过验证、已获授权的临床系统声称已获得 FDA 授权、符合监管要求、HIPAA 合规或法律合规。一旦请求可能影响对个体的照护应立即停止工作流并将其转交给执业医疗专业人员及当地验证过且获授权系统处理而不是重定向到其他技能。这一边界在 references/safety_and_scope.md 中被细化为可操作的停用条件Stop Conditions只要输入包含姓名、病历号、联系方式、精确位置、关联个人的日期、行级记录、叙事文本、影像、信号或序列或出现任何这位患者这个结果式的个体化请求技能就必须拒绝处理并简要说明边界。1.2 范围内产物In Scope技能合理承接的研究类工作包括研究制品的预期用途与限制声明带披露控制的**汇总aggregate**队列表骨架统计分析计划与生存分析计划审查汇总层面的模型或生物标志物性能评估透明的 GRADE 证据概况核对清单证据来源与决策逻辑可追溯性去标识化流程核对清单公平性、亚组、校准、不确定性、外部验证、监测、变更控制、审计与人因学文档。所有输出在合格人员批准之前都只是草稿。汇报类指南改善的是透明度它本身并不证明研究质量、临床效用、安全性、有效性、授权或合规性。二、数据门禁Data Gate及其源码实现在运行任何脚本之前必须完成五步确认对应 SKILL.md 的 Data Gate 章节确认输入是**合成synthetic或汇总aggregate**数据拒绝患者行、记录、叙述、标识符、自由文本、与个人关联的日期、影像、波形或基因组序列保持源文件在本地不抓取 URL、不调用 API、不读环境变量、不向模型发送数据在产出任何表格前先设定披露阈值记录来源provenance、数据截断日期、人群、排除项、缺失情况与所有转换。2.1 源码层的三重防护这些门禁并非空口号而是被硬编码在共享模块 scripts/_common.py 中① 输入规模上限。MAX_INPUT_BYTES 1_000_000输入文件不超过 1MB、MAX_TEXT_LENGTH 4_000单段文本不超过 4000 字符、MAX_SOURCES 200来源条目上限 200另有各脚本自身的组/行/分箱上限。② 路径与符号链接防护。local_input_path()/local_output_path()会拒绝含://的 URL 式路径、\x00空字节与 UNC 路径禁止符号链接输入输出并要求输出目录已存在。测试 tests/clinical-decision-support/test_scripts.py 中test_url_like_input_path_is_rejected专门验证https://example.invalid/data.json这类输入会被抛出InputError。③ 逐键扫描的个人级字段黑名单。PERSON_LEVEL_KEYS覆盖 20 余种常见危险键包括patient、patient_id、raw_rows、individual_record、medical_record_number、date_of_birth、ssn、note_text、address、phone等。ensure_no_person_level_keys()会递归遍历整个 JSON 文档在任何嵌套层级发现这些键即拒绝运行。SKILL.md 特别强调这些控制能减少误用风险但它们本身不是隐私判定privacy determination。三、必需制品头Required Artifact Header每份制品必须显式包含以下信息这也是自动化校验的核心对象artifact_type、标题、版本、状态、负责人、日期与变更摘要预期用途、预期用户、汇总人群范围与决策角色硬边界中的全部禁止用途数据层级以及未提供任何 PHI 或原始行的确认局限性、不确定性与可预见的失败模式外部验证与亚组适用性状态人工评审角色、完成状态与批准边界带版本或日期的来源引用监测、变更控制、退役与审计预期声明Not for patient care or live clinical use.模板起点是 assets/artifact_intended_use_template.json。这份模板展示了完整的字段骨架schema_version、artifactid/title/type/version/status/owner/date/change_summary、intended_use、prohibited_uses、data_governance、limitations、human_review、validation、lifecycle、compliance_claims与sources。值得注意的是其中human_review.completed字段初值为falsevalidation各字段均以REPLACE_...占位符填充——这暗示模板本身故意无法通过校验必须由人工完成填写后才会变成有效制品测试test_unresolved_artifact_template_fails_closed正是验证这种默认失败关闭行为。四、四步标准工作流Step 1框定研究问题Frame the Research Question在查看任何结果之前定义估计目标estimand或评估目标区分描述性、预后性、预测性、诊断准确性与因果性问题预先规定结局、时间起点、时间窗、亚组、截断点、缺失数据处理、多重性与敏感性分析将探索性发现与确证性分析分离。Step 2选择制品与脚本需求资产模板脚本预期用途/治理审查assets/artifact_intended_use_template.jsonscripts/validate_cds_artifact.pyGRADE 证据概况assets/evidence_profile_template.jsonscripts/evidence_profile_check.py汇总模型/生物标志物评估assets/aggregate_model_evaluation_template.jsonscripts/model_biomarker_evaluation.py汇总队列表assets/aggregate_cohort_table_template.jsonscripts/cohort_table_generator.py生存分析计划assets/survival_analysis_plan_template.jsonscripts/survival_plan_validator.py逻辑可追溯矩阵assets/decision_logic_traceability_template.jsonscripts/decision_logic_traceability.py去标识化流程审查assets/deidentification_checklist_template.jsonscripts/deidentification_checklist.py所有模板见 references/README.md 的 Assets 说明都是 JSON 骨架不含任何患者行或真实标识符且都包含预期用途、禁止用途、局限、数据层级与人工评审字段。Step 3本地运行所有辅助脚本零依赖逐个查看帮助即可上手python3 scripts/validate_cds_artifact.py --help python3 scripts/evidence_profile_check.py --help python3 scripts/model_biomarker_evaluation.py --help python3 scripts/cohort_table_generator.py --help python3 scripts/survival_plan_validator.py --help python3 scripts/decision_logic_traceability.py --help python3 scripts/deidentification_checklist.py --help输出只能写入经过审查的本地目录严禁把生成报告放入 EHR、告警系统、临床门户或设备工作流。Step 4人工评审Human Review按制品类型匹配评审强度。根据 references/safety_and_scope.md 中的人工评审矩阵参考组合如下方法学/统计学专家负责设计与分析证据概况需系统评价方法学家队列报告需统计学家/流行病学家 数据管理员领域专家负责临床科学语境隐私官员或有资质专家负责披露决策法规或法律顾问负责管辖特定解释人因学专家负责用户研究授权治理负责人负责发布与变更控制。脚本运行成功仅代表声明字段与内部一致性检查通过并不代表审查已完成——正如脚本输出统一携带的免责声明所说Structural checks only; not a clinical, privacy, regulatory, legal, or compliance determination.五、制品校验器的源码级剖析以最核心的 scripts/validate_cds_artifact.py 为例其校验逻辑可以看作对必需制品头的可执行化。CLI 接口如下python3 scripts/validate_cds_artifact.py input.json [-o REPORT.json] [--strict]三个关键参数input本地 JSON 制品文件必填-o / --output可选的本地 JSON 报告输出路径--strict当存在 warning 时也返回失败码。源码中定义的受控枚举值得重点说明ALLOWED_TYPES { aggregate_cohort_evaluation, evidence_profile, model_biomarker_evaluation, research_analysis_plan, governance_traceability, privacy_process_checklist, } ALLOWED_STATUSES {draft, evaluation_only, retired} ALLOWED_DATA_LEVELS {aggregate, synthetic, aggregate_and_synthetic}validate_artifact()的检查面覆盖以下硬性约束artifact.type必须在上述 6 种允许类型中status必须是draft/evaluation_only/retired之一intended_use.population_scope必须精确等于aggregate_or_synthetic_onlydecision_role必须精确等于research_evaluation_governance_onlyintended_use.boundary_statement的文本必须包含 not for patient care or live clinical useprohibited_uses必须覆盖 11 个必需概念patient-specific、diagnosis、treatment recommendation、dosing、triage、autonomous decision、alarm、bedside、live clinical、regulatory compliance、hipaa compliancedata_governance.phi_supplied与raw_rows_supplied必须为falselimitations至少 3 条human_review.required必须为truevalidation的五个字段与lifecycle的四个字段都非空compliance_claims必须为false。更巧妙的是两个递归扫描器_find_unsafe_keys()会遍历全文禁止出现diagnosis、dose、recommendation、triage、urgency、care_plan、patient_prediction等不安全临床输出键_find_placeholders()会捕捉任何残留的REPLACE_、REQUIRES_、YYYY-MM-DD占位符并判为错误。退出码约定为校验通过返回 0存在 error或 strict 下存在 warning返回 1输入文件非法返回 2。测试层用合成模板验证了未填写模板必须失败、填写完整后通过结构检查的双向行为见ArtifactValidatorTests并且test_assets_declare_safety_fields断言所有 JSON 资产都必须包含intended_use、limitations、human_review、prohibited_uses四类安全字段。六、各专业制品域的方法学要求6.1 GRADE 证据概况不能仅凭文章文本、研究设计、p 值或关键词推断确定性评级也不要把旧的1A/2B简写当作通用 GRADE 输出。对每个重要结局人类评审组必须记录偏倚风险risk of bias不一致性inconsistency间接性indirectness不精确性imprecision发表偏倚publication bias适用的升/降级考虑效应估计与不确定性每条判断的理由与来源 ID最终确定性判断及具名评审角色。校验脚本evidence_profile_check.py只验证完整性与引用关联绝不计算确定性和推荐强度。测试EvidenceProfileTests表明未填写的模板会因缺少human judgment字段而失败关闭而完整填写domain.judgment、rationale、reviewer_role 与 outcome.certainty.human_judgmenttrue后可通过——报告中记录的是人工输入的human_entered_certainty如moderate同时auto_grade保持false从机制上杜绝了自动评级。详见 references/evidence_profiles.md。6.2 汇总模型与生物标志物评估技能明确禁止推导阈值、指派分子或疾病类别、匹配疗法或输出个体级预测。评估器 scripts/model_biomarker_evaluation.py只接受汇总混淆计数confusion counts与校准分箱calibration bins输出带 Wilson 区间、校准差距、亚组差异与显式抑制suppression的有界描述性指标。关键工程参数输入上限最多MAX_GROUPS 12个组、MAX_BINS 30个校准分箱、单组人数上限MAX_GROUP_N 10_000_000CLI--min-cell-size默认11合法范围21000低于阈值的贡献单元格被抑制输出指标sensitivity、specificity、positive/negative predictive value、accuracy、prevalence均带 Wilson 95% 区间与 balanced_accuracy校准摘要计算calibration_in_the_large_gap预测概率均值减观测率与weighted_absolute_calibration_gap亚组差异仅报告maximum_absolute_difference与最值组并显式标注仅为描述性差异不是公平性判断。报告顶层永远包含individual_output_generated: False、clinical_classification_generated: False、recommendation_generated: False三个否定性标志测试test_model_evaluation_is_aggregate_and_bounded对此做了断言。方法学上还要求锁定模型/检测/版本与预指定阈值来源、有代表性的内部验证与独立外部验证、与目标适配的校准与判别、带不确定性与样本量的亚组表现、缺失/谱偏倚/数据集偏移/检测变异评估、相关人因与前瞻性评估以及监测、变更控制、回滚与退役标准。详见 references/model_biomarker_evaluation.md。6.3 汇总队列表与披露控制scripts/cohort_table_generator.py 仅接收汇总单元格绝不接收行级数据。其内置策略在经批准的披露政策下选择最小单元格阈值应用主抑制SUPP与互补抑制SUPP-C报告分母与缺失情况避免把基线显著性检验当作平衡诊断标注调整/未调整、预指定/探索性结果不把关联解释为因果或临床可行动性。CLI 支持输出 Markdown 或 CSV按-o扩展名判定直接运行不指定-o时默认打印 Markdown 表格。源码中_build_table的实现逻辑值得细读当某组 n 低于阈值或单元格中存在0 count minimum的非零小计数时输出SUPP当某分类行恰好只有一个主抑制单元格且存在可发布单元格时对计数最小的可发布组施加SUPP-C并追加Complementary suppression applied注释。表格底部固定附注三行明确阈值只是操作性披露控制不是 HIPAA 或隐私判定。测试test_cohort_table_applies_complementary_suppression验证了模板输出末行确为SUPP/SUPP-C的组合。默认阈值11在 scripts/model_biomarker_evaluation.py 与 scripts/cohort_table_generator.py 的--help中都被注释为operational safeguard / operational suppression threshold不是法律标准。方法学与隐私细节见 references/cohort_evaluation.md 与 references/privacy_and_disclosure.md。6.4 生存分析计划生存计划要求把时间零点、事件、竞争事件、删失、交会事件intercurrent events、estimand、时间窗、效应度量与分析人群作为一个整体定义在把风险比当作常数前先评估比例风险假设proportional hazards预指定备选方案时变效应或限制性平均生存时间RMST存在竞争事件时使用累积发生率方法cumulative incidence处理不朽时间偏倚、信息性删失、延迟入组、缺失数据与多重性风险纳入敏感性分析与不确定性而非只报 p 值。配套脚本 scripts/survival_plan_validator.py只验证计划不拟合任何生存模型。其枚举值体现了方法学设计primary_method允许 kaplan_meier、cox_proportional_hazards、flexible_parametric、restricted_mean_survival_time、accelerated_failure_time、cumulative_incidence、cause_specific_hazard、fine_gray、multi_state、other_justified 共 10 种竞争风险方法集合单独枚举。特别地源码实现了三条交叉规则主方法为 Cox 或效应度量含 hazard ratio 时proportional_hazards_assessment与non_proportional_hazards_strategy均不得为 none列出竞争事件时必须指定竞争风险方法且 Kaplan-Meier 不能作为竞争事件下的唯一绝对发生率方法未列竞争事件却命名了竞争风险方法则产生 warning。计划要求至少 2 个敏感性分析少于则告警、censoring_rules 至少 1 条并覆盖bias_controls信息性删失/不朽时间/时变混杂等与四个亚组管理字段。详见 references/survival_analysis.md。6.5 决策逻辑与可追溯性决策逻辑只记录研究或治理逻辑如证据纳入、验证门禁、发布暂挂与人审检查点。每个节点必须链接来源 ID、测试、负责人、版本与状态严禁编码照护路径、紧急程度、用药动作、诊断规则、告警或面向患者的输出。见 references/decision_logic_traceability.md。decision_logic_traceability脚本的配套测试test_traceability_matrix_is_non_executable直接断言模板中metadata.executable_logic为false且每条输出的output_kind都落在允许集合内——从结构与数据两个层面确认该矩阵不可被执行化。6.6 隐私与去标识化技能明确HHS 的去标识化方法是专家判定Expert Determination与安全港Safe Harbor核对清单本身无法独立执行这两种方法。不能因为移除了某串字段、哈希了标识符、使用了最小单元格或脚本跑通就声称完成去标识化或 HIPAA 合规。配套脚本只清点已记录的人工工作从不读取数据集。未决事项、自由文本、日期、地理信息、罕见组合、关联风险、基因组数据与纵向模式必须升级到有资质的隐私评审。测试PrivacyChecklistTests精确验证了这一点即使完整填写的 safe_harbor 文档documentation_complete为 truedeidentification_determined与hipaa_compliance_determined依然是false。详见 references/privacy_and_disclosure.md。七、报告指南Reporting Guideline选择应根据研究设计与评价阶段、而非标题中是否含AI来选择框架。技能维护的选择表如下队列/病例对照/横断面研究STROBE常规收集数据再加 RECORD预测模型开发/评估TRIPODAI 与 PROBASTAI肿瘤预后标志物研究REMARKAI 诊断准确性STARD-AI STARDAI 试验方案SPIRIT-AI 当前版 SPIRITAI 随机试验报告CONSORT-AI 当前版 CONSORT早期现场 AI 评估DECIDE-AI——但现场评估超出本技能的运行范围。这些工具是报告或评价工具而非自动质量评分。详见 references/study_reporting.md。八、监管与治理语境FDA器械状态取决于预期用途与功能而非文档标签。FDA 2026 年 1 月的 CDS 指南区分了特定非器械 CDS 功能与器械软件功能但其示例不是自我认证清单ONC HTI-1要求仅在定义的认证范围内适用ICH E6(R3) 与 E9/E9(R1)可为试验治理与统计规划提供参考但不会让某制品自动合规。这些内容带有日期语境见 references/regulatory_and_governance.md实际产品、研究、申报、部署或司法辖区必须获取合格专业建议。权威来源账本见 references/sources.md。九、本地验证Verification在技能目录下运行完整单元测试python3 -m unittest discover -s tests/clinical-decision-support -p test_*.py测试套件 tests/clinical-decision-support/test_scripts.py 覆盖静态安全检查AST 遍历全部脚本禁止导入requests/urllib/socket/openai/aiohttp/httpx/pickle禁止eval/exec动态执行源码中不得出现os.environ、getenv(、API_KEY制品校验未填模板必须失败关闭、完整合成制品可通过结构检查证据概况未填模板必须要求人类判断、完整人工概况通过且不自动评级模型评估输出保持聚合、无个体/分类/推荐输出队列表正确应用 SUPP 与 SUPP-C 互补抑制计划与可追溯性生存计划在人工评审未完成时给出 warning逻辑矩阵不可执行化隐私清单文档完整≠去标识化/合规已判定CLI 帮助契约每个脚本--help均无副作用。另可按 SKILL.md 提供的方式做无字节码的 AST 编译检查python3 -c import ast,pathlib; [ast.parse(p.read_text()) for p in pathlib.Path(scripts).glob(*.py)]安全基线、扫描结果与已接受的 LOW 级发现记录在 references/security_validation.md。十、参考地图references/README.md — 范围与导航references/safety_and_scope.md — 拒绝与升级规则references/regulatory_and_governance.md — FDA / ONC / ICH 语境references/evidence_profiles.md — 人类 GRADE 工作流references/study_reporting.md — EQUATOR 与 PROBASTAI 选择references/cohort_evaluation.md — 汇总队列方法references/survival_analysis.md — 时间-事件规划references/model_biomarker_evaluation.md — 模型/生物标志物评估references/privacy_and_disclosure.md — 去标识化与抑制references/decision_logic_traceability.md — 治理逻辑references/sources.md — 带日期的权威来源账本references/security_validation.md — 扫描结果与已接受的 LOW 发现结语clinical-decision-support技能最大的价值在于把负责任 AI 研究从口号变成了可执行、可校验、可审计的工程约束聚合/合成数据门禁被写进_common.py的硬编码上限与键黑名单不产生个体输出、不自动评级、不构成合规声明被固化进每个脚本的输出结构与退出码SUPP/SUPP-C、Wilson 区间、estimand 枚举与模板占位符扫描让研究者在使用时无法绕过方法学规范。对于任何需要在生物医学领域做模型评估、证据汇总与治理文档化的团队它都是一份值得直接借鉴的研究安全默认值参考实现——前提是始终记住它的硬边界研究证据不等于临床决策工具跑通不等于人工批准。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考