File size: 2,682 Bytes
8aed835
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Contributing to CDS Agent

Thank you for your interest in contributing to the Clinical Decision Support Agent!

## Getting Started

1. Fork the repository
2. Clone your fork locally
3. Follow the setup instructions in [README.md](README.md)
4. Create a feature branch from `master`

## Development Setup

```bash
# Backend
cd src/backend
python -m venv venv
venv\Scripts\activate        # Windows
pip install -r requirements.txt
copy .env.template .env      # Add your Google AI Studio key

# Frontend
cd src/frontend
npm install
```

## Running Tests

```bash
cd src/backend

# RAG quality (no server needed)
python test_rag_quality.py --rebuild --verbose

# E2E pipeline (requires running backend on port 8002)
python test_e2e.py

# Clinical test suite
python test_clinical_cases.py

# External validation
python -m validation.run_validation --medqa --max-cases 5
```

## How to Contribute

### Reporting Issues

- Use GitHub Issues for bug reports and feature requests
- Include reproduction steps, expected behavior, and actual behavior
- For clinical accuracy concerns, note the patient scenario and expected medical reasoning

### Submitting Changes

1. Create a branch: `git checkout -b feature/your-feature`
2. Make changes with clear, focused commits
3. Ensure existing tests still pass
4. Submit a pull request with a description of what changed and why

### Areas Where Contributions Are Welcome

- **Clinical guidelines** — Adding new guidelines to `app/data/clinical_guidelines.json` (must cite authoritative sources: ACC/AHA, ADA, IDSA, etc.)
- **Test cases** — Additional clinical scenarios in `test_clinical_cases.py`
- **Validation harnesses** — Improving or adding dataset harnesses in `validation/`
- **Frontend polish** — UI/UX improvements, accessibility, responsive design
- **Documentation** — Corrections, clarifications, translations

### Code Style

- **Python:** Standard library conventions, type hints where practical, Pydantic models for data structures
- **TypeScript/React:** Functional components, hooks, Tailwind CSS utility classes
- **Commits:** Descriptive messages with a prefix (`feat:`, `fix:`, `docs:`, `test:`, `refactor:`)

## Important Notes

- **This is a medical AI project.** Changes to clinical reasoning, guidelines, or conflict detection require extra scrutiny. If you're not a domain expert, flag your PR for clinical review.
- **No patient data.** Never commit real patient information. All test cases must be synthetic.
- **API keys.** Never commit API keys or secrets. Use `.env` (gitignored).

## License

By contributing, you agree that your contributions will be licensed under the [Apache License 2.0](LICENSE).