309 lines
7.6 KiB
Markdown
309 lines
7.6 KiB
Markdown
# 🚀 Endobest Dashboard - Quick Start Guide
|
||
|
||
**Quick Reference for Running the Dashboard**
|
||
|
||
---
|
||
|
||
## ⚡ 5-Minute Start
|
||
|
||
### Prerequisites
|
||
- Python 3.7+
|
||
- Internet connection
|
||
- Valid Ziwig credentials
|
||
- Configuration file in `config/Endobest_Dashboard_Config.xlsx`
|
||
|
||
### Three Simple Ways to Run
|
||
|
||
#### 1️⃣ Full Data Collection (Recommended)
|
||
```bash
|
||
python eb_dashboard.py
|
||
```
|
||
- ✅ Collects fresh data from all APIs
|
||
- ✅ Runs quality checks
|
||
- ✅ Generates JSON + Excel
|
||
- ⏱️ Takes 2.5-5 minutes
|
||
- 💡 **Use this for:** Regular data updates, first run
|
||
|
||
#### 2️⃣ Excel Export Only (Fast)
|
||
```bash
|
||
python eb_dashboard.py --excel-only
|
||
```
|
||
- ✅ Uses existing JSON data
|
||
- ✅ Regenerates Excel files
|
||
- ✅ NO data collection
|
||
- ⏱️ Takes 5-15 seconds
|
||
- 💡 **Use this for:** Testing new Excel configs, quick re-export
|
||
|
||
#### 3️⃣ Quality Check Only
|
||
```bash
|
||
python eb_dashboard.py --check-only
|
||
```
|
||
- ✅ Validates existing data
|
||
- ✅ Runs coherence + regression tests
|
||
- ✅ NO export
|
||
- ⏱️ Takes 5-10 seconds
|
||
- 💡 **Use this for:** Verify data before sharing
|
||
|
||
---
|
||
|
||
## 🔑 Default Credentials
|
||
|
||
The script uses built-in defaults (press Enter to accept):
|
||
|
||
```
|
||
Login: ziwig-invest2@yopmail.com
|
||
Password: pbrrA765$bP3beiuyuiyhiuy!agx
|
||
Number of threads: [1-20, default 12]
|
||
```
|
||
|
||
---
|
||
|
||
## 📁 What Gets Created
|
||
|
||
### Output Files
|
||
```
|
||
your_directory/
|
||
├── endobest_inclusions.json (Patient data, ~6-7 MB)
|
||
├── endobest_inclusions_old.json (Backup from previous run)
|
||
├── endobest_organizations.json (Organization stats, ~17-20 KB)
|
||
├── endobest_organizations_old.json (Backup)
|
||
├── [Excel files] (If configured, e.g., Endobest_Output_2025-01-15.xlsx)
|
||
└── dashboard.log (Execution log)
|
||
```
|
||
|
||
### File Locations
|
||
All files are created in the directory where you run the script.
|
||
|
||
---
|
||
|
||
## ⚙️ Configuration (Excel File)
|
||
|
||
**File:** `config/Endobest_Dashboard_Config.xlsx`
|
||
|
||
### Tables Available
|
||
|
||
| Table | Purpose | When to Edit |
|
||
|-------|---------|--------------|
|
||
| **Inclusions_Mapping** | Define which patient fields to extract | When adding new fields to reports |
|
||
| **Excel_Workbooks** | Define Excel files to create | When changing workbook templates |
|
||
| **Excel_Sheets** | Configure data in Excel sheets | When modifying filters, sorts, column mapping |
|
||
| **Regression_Check** | Define quality check rules | When allowing new data changes |
|
||
|
||
**Changes take effect on next run** (no restart needed)
|
||
|
||
---
|
||
|
||
## 🔍 Monitoring Progress
|
||
|
||
### During Execution
|
||
```
|
||
Overall Progress [████████████░░░░░░░░░░░░░░] 847/1200
|
||
1/15 - Center 1 [██████████░░░░░░░░░░░░░░░░] 73/95
|
||
2/15 - Center 2 [██████░░░░░░░░░░░░░░░░░░░░] 42/110
|
||
3/15 - Center 3 [████░░░░░░░░░░░░░░░░░░░░░░] 28/85
|
||
```
|
||
|
||
### Checking Results
|
||
```bash
|
||
# View recent log entries
|
||
tail -n 50 dashboard.log
|
||
|
||
# Check for errors
|
||
grep ERROR dashboard.log
|
||
|
||
# View specific run
|
||
grep "2025-01-15" dashboard.log
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ Quality Checks
|
||
|
||
### Two Validation Types
|
||
|
||
**1. Coherence Check**
|
||
- Compares API statistics vs. actual collected data
|
||
- Example: API says 145 patients, but only found 143 records
|
||
- Action: Warns if discrepancy > 10%
|
||
|
||
**2. Non-Regression Check**
|
||
- Compares current data vs. previous run
|
||
- Detects unexpected changes
|
||
- Action: Warns if changes violate configured rules
|
||
|
||
### What Happens if Issues Found
|
||
|
||
```
|
||
⚠ CRITICAL issues detected in quality checks!
|
||
Do you want to write the results anyway?
|
||
[Y/N]:
|
||
```
|
||
|
||
- **YES** → Continue with export (override)
|
||
- **NO** → Cancel export, keep previous files
|
||
|
||
---
|
||
|
||
## 🐛 Troubleshooting
|
||
|
||
### "Login failed"
|
||
- Check credentials
|
||
- Verify internet connection
|
||
- Try again (sometimes transient network issue)
|
||
|
||
### "Template file not found"
|
||
- Check `config/templates/` folder
|
||
- Verify filename matches Excel config exactly
|
||
|
||
### "No data in Excel sheets"
|
||
- Check filter conditions aren't too strict
|
||
- Verify data exists: run `--check-only` first
|
||
- Check JSON files have content
|
||
|
||
### "Script is slow"
|
||
- Increase worker threads (up to 20)
|
||
- Check internet bandwidth usage
|
||
- First run always slower (no optimization)
|
||
|
||
### "Need detailed error info"
|
||
```bash
|
||
python eb_dashboard.py --debug
|
||
# Check dashboard.log for verbose output
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 Sample Output
|
||
|
||
### First 10 Lines of endobest_inclusions.json
|
||
```json
|
||
[
|
||
{
|
||
"Patient_Identification": {
|
||
"Organisation_Id": "12345-uuid",
|
||
"Organisation_Name": "Hospital A",
|
||
"Center_Name": "HOSP-A",
|
||
"Patient_Id": "PAT-001",
|
||
"Pseudo": "ENDO-001",
|
||
"Patient_Name": "Doe, John",
|
||
"Patient_Birthday": "1975-05-15",
|
||
"Patient_Age": 49
|
||
},
|
||
"Inclusion": {
|
||
"Consent_Signed": true,
|
||
"Inclusion_Date": "15/10/2024",
|
||
...
|
||
```
|
||
|
||
---
|
||
|
||
## 📈 Performance Expectations
|
||
|
||
### Typical Timings
|
||
| Operation | Small (50 orgs) | Medium (100+ orgs) | Large (200+ orgs) |
|
||
|-----------|---|---|---|
|
||
| Data Collection | 5-10 min | 10-20 min | 20-30 min |
|
||
| Quality Checks | 5-10 sec | 10-15 sec | 15-20 sec |
|
||
| Excel Export | 5-10 sec | 10-15 sec | 15-20 sec |
|
||
| **TOTAL** | **5-10 min** | **10-20 min** | **20-30 min** |
|
||
|
||
**Tip:** Excel export is fast in `--excel-only` mode (5-15 seconds always)
|
||
|
||
---
|
||
|
||
## 🎯 Common Tasks
|
||
|
||
### Task 1: Regular Data Collection
|
||
```bash
|
||
python eb_dashboard.py
|
||
# Full process: collect → checks → export
|
||
# Repeat weekly or as scheduled
|
||
```
|
||
|
||
### Task 2: Reconfigure Excel Reports
|
||
```bash
|
||
# 1. Edit config/Endobest_Dashboard_Config.xlsx
|
||
# 2. Add/modify rows in Excel_Sheets table
|
||
# 3. Run fast export:
|
||
python eb_dashboard.py --excel-only
|
||
# New Excel files generated in seconds
|
||
```
|
||
|
||
### Task 3: Verify Data Quality
|
||
```bash
|
||
python eb_dashboard.py --check-only
|
||
# Runs validation without modifying files
|
||
# Great for pre-distribution checks
|
||
```
|
||
|
||
### Task 4: Debug Issues
|
||
```bash
|
||
python eb_dashboard.py --debug
|
||
# Verbose logging sent to dashboard.log
|
||
# Check log for detailed error information
|
||
```
|
||
|
||
---
|
||
|
||
## 📚 Next Steps
|
||
|
||
### For Basic Usage
|
||
→ See **DOCUMENTATION_98_USER_GUIDE.md**
|
||
|
||
### For Configuration Details
|
||
→ See **DOCUMENTATION_99_CONFIG_GUIDE.md**
|
||
|
||
### For Field Mapping
|
||
→ See **DOCUMENTATION_11_FIELD_MAPPING.md**
|
||
|
||
### For Excel Export
|
||
→ See **DOCUMENTATION_13_EXCEL_EXPORT.md**
|
||
|
||
### For Architecture Understanding
|
||
→ See **DOCUMENTATION_10_ARCHITECTURE.md**
|
||
|
||
---
|
||
|
||
## 🆘 Emergency Contacts / Support
|
||
|
||
### Check Documentation First
|
||
1. **This Quick Start** - Common questions
|
||
2. **DOCUMENTATION_98_USER_GUIDE.md** - FAQ section
|
||
3. **dashboard.log** - Error details
|
||
|
||
### Common Issue Solutions
|
||
|
||
| Issue | Solution |
|
||
|-------|----------|
|
||
| Script hangs | Press Ctrl+C, check network |
|
||
| Login fails | Verify credentials, check internet |
|
||
| Slow collection | Increase worker threads (up to 20) |
|
||
| Excel template issues | Check `config/templates/` folder |
|
||
| Quality check warnings | Review regression config rules |
|
||
|
||
---
|
||
|
||
## ⚡ Pro Tips
|
||
|
||
1. **First Run:** Always run full collection, even if slow
|
||
2. **Testing Configs:** Use `--excel_only` for quick feedback
|
||
3. **Batch Processing:** Schedule with task scheduler or cron
|
||
4. **Performance:** More threads = faster (but check bandwidth)
|
||
5. **Backups:** Old JSON files kept automatically (`_old` suffix)
|
||
|
||
---
|
||
|
||
## 🔐 Data Privacy
|
||
|
||
⚠️ **Important:**
|
||
- JSON files contain patient data
|
||
- Keep files in secure location
|
||
- Delete backups if not needed
|
||
- Follow hospital/research protocols
|
||
|
||
---
|
||
|
||
**For complete technical details, see DOCUMENTATION_30_ARCHITECTURE_SUMMARY.md**
|
||
|
||
**Questions? Check the comprehensive documentation in the project folder.**
|