EBM Calculator
Evidence-Based Medicine diagnostic test calculator.
Features
- - Sensitivity / Specificity calculation
- PPV / NPV with prevalence adjustment
- Likelihood ratios (LR+ / LR-)
- Number Needed to Treat (NNT)
- Pre/post-test probability conversion
Parameters
| Parameter | Type | Default | Required | Description |
|---|
| INLINECODE0 , INLINECODE1 | string | diagnostic | No | Calculation mode (diagnostic, nnt, probability) |
| INLINECODE2 , INLINECODE3 |
int | - | * | True positives (diagnostic mode) |
|
--fn,
--false-neg | int | - | * | False negatives (diagnostic mode) |
|
--tn,
--true-neg | int | - | * | True negatives (diagnostic mode) |
|
--fp,
--false-pos | int | - | * | False positives (diagnostic mode) |
|
--prevalence,
-p | float | - | No | Disease prevalence 0-1 (diagnostic mode) |
|
--control-rate | float | - |
| Control event rate 0-1 (nnt mode) |
|
--experimental-rate | float | - |
| Experimental event rate 0-1 (nnt mode) |
|
--pretest | float | - |
* | Pre-test probability 0-1 (probability mode) |
|
--lr | float | - |
* | Likelihood ratio (probability mode) |
|
--output,
-o | string | stdout | No | Output file path |
\* Required for diagnostic mode
\ Required for nnt mode
\* Required for probability mode
Output Format
CODEBLOCK0
Risk Assessment
| Risk Indicator | Assessment | Level |
|---|
| Code Execution | Python/R scripts executed locally | Medium |
| Network Access |
No external API calls | Low |
| File System Access | Read input files, write output files | Medium |
| Instruction Tampering | Standard prompt guidelines | Low |
| Data Exposure | Output files saved to workspace | Low |
Security Checklist
- - [ ] No hardcoded credentials or API keys
- [ ] No unauthorized file system access (../)
- [ ] Output does not expose sensitive information
- [ ] Prompt injection protections in place
- [ ] Input file paths validated (no ../ traversal)
- [ ] Output directory restricted to workspace
- [ ] Script execution in sandboxed environment
- [ ] Error messages sanitized (no stack traces exposed)
- [ ] Dependencies audited
Prerequisites
No additional Python packages required.
Evaluation Criteria
Success Metrics
- - [ ] Successfully executes main functionality
- [ ] Output meets quality standards
- [ ] Handles edge cases gracefully
- [ ] Performance is acceptable
Test Cases
- 1. Basic Functionality: Standard input → Expected output
- Edge Case: Invalid input → Graceful error handling
- Performance: Large dataset → Acceptable processing time
Lifecycle Status
- - Current Stage: Draft
- Next Review Date: 2026-03-06
- Known Issues: None
- Planned Improvements:
- Performance optimization
- Additional feature support
EBM计算器
循证医学诊断测试计算器。
功能特性
- - 灵敏度/特异度计算
- 阳性预测值/阴性预测值(含患病率调整)
- 似然比(阳性似然比/阴性似然比)
- 需治疗人数
- 验前/验后概率转换
参数说明
| 参数 | 类型 | 默认值 | 必填 | 描述 |
|---|
| --mode, -m | 字符串 | diagnostic | 否 | 计算模式(diagnostic, nnt, probability) |
| --tp, --true-pos |
整数 | - | * | 真阳性(诊断模式) |
| --fn, --false-neg | 整数 | - | * | 假阴性(诊断模式) |
| --tn, --true-neg | 整数 | - | * | 真阴性(诊断模式) |
| --fp, --false-pos | 整数 | - | * | 假阳性(诊断模式) |
| --prevalence, -p | 浮点数 | - | 否 | 疾病患病率 0-1(诊断模式) |
| --control-rate | 浮点数 | - |
| 对照组事件发生率 0-1(nnt模式) |
| --experimental-rate | 浮点数 | - |
| 实验组事件发生率 0-1(nnt模式) |
| --pretest | 浮点数 | - |
* | 验前概率 0-1(概率模式) |
| --lr | 浮点数 | - |
* | 似然比(概率模式) |
| --output, -o | 字符串 | stdout | 否 | 输出文件路径 |
\* 诊断模式必填
\ nnt模式必填
\* 概率模式必填
输出格式
json
{
sensitivity: 浮点数,
specificity: 浮点数,
ppv: 浮点数,
npv: 浮点数,
lr_positive: 浮点数,
lr_negative: 浮点数,
interpretation: 字符串
}
风险评估
| 风险指标 | 评估 | 等级 |
|---|
| 代码执行 | 本地执行Python/R脚本 | 中等 |
| 网络访问 |
无外部API调用 | 低 |
| 文件系统访问 | 读取输入文件,写入输出文件 | 中等 |
| 指令篡改 | 标准提示词指南 | 低 |
| 数据泄露 | 输出文件保存至工作区 | 低 |
安全检查清单
- - [ ] 无硬编码凭据或API密钥
- [ ] 无未经授权的文件系统访问(../)
- [ ] 输出不暴露敏感信息
- [ ] 已实施提示注入防护
- [ ] 输入文件路径已验证(无../遍历)
- [ ] 输出目录限制在工作区内
- [ ] 脚本在沙盒环境中执行
- [ ] 错误消息已清理(不暴露堆栈跟踪)
- [ ] 依赖项已审计
前置条件
无需额外Python包。
评估标准
成功指标
- - [ ] 成功执行主要功能
- [ ] 输出符合质量标准
- [ ] 优雅处理边缘情况
- [ ] 性能可接受
测试用例
- 1. 基本功能:标准输入 → 预期输出
- 边缘情况:无效输入 → 优雅错误处理
- 性能测试:大数据集 → 可接受处理时间
生命周期状态
- - 当前阶段:草案
- 下次审核日期:2026-03-06
- 已知问题:无
- 计划改进:
- 性能优化
- 新增功能支持