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 |
|---|---|---|---|---|
--mode, -m | string | diagnostic | No | Calculation mode (diagnostic, nnt, probability) |
--tp, --true-pos | 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
{
"sensitivity": "float",
"specificity": "float",
"ppv": "float",
"npv": "float",
"lr_positive": "float",
"lr_negative": "float",
"interpretation": "string"
}
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
- 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