Speckit.Tasks

IMPORTANT: All development follows Spec-Kit + Ralph Wiggum methodology:

drshailesh88 updated 6mo ago
Claude CodeGeneric
View source ↗
# DocAssist Practice Manager - Task Breakdown

## Development Workflow Reminder

**IMPORTANT:** All development follows Spec-Kit + Ralph Wiggum methodology:

1. Before implementing any feature, reference:
   - `speckit.constitution.md` - For principles and constraints
   - `speckit.specify.md` - For feature requirements
   - `speckit.plan.md` - For technical approach

2. Use Ralph Wiggum loops for all significant implementations:
   - Define clear completion criteria
   - Run verification after each iteration
   - Commit working code
   - Continue until tests pass

3. After completing tasks, update this file with status

---

## Phase 1: Foundation

### Task 1.1: Project Initialization
**Status:** Pending
**Ralph Loop:** Not required (setup tasks)

- [ ] Create pyproject.toml with all dependencies
- [ ] Create requirements.txt for pip compatibility
- [ ] Set up virtual environment structure
- [ ] Create .gitignore for Python project
- [ ] Create .env.example with all config options
- [ ] Set up pytest.ini with coverage settings
- [ ] Configure mypy.ini for strict type checking
- [ ] Create CLAUDE.md with project instructions
- [ ] Replicate to AGENTS.md, CODEX.md, GEMINI.md, GROK.md
- [ ] Create README.md with project overview

**Verification:**
```bash
python -m pytest --version  # pytest available
mypy --version              # mypy available

Task 1.2: Database Models

Status: Pending Ralph Loop: Yes - "Implement all SQLAlchemy models with tests" Max Iterations: 30

  • Create src/models/base.py with SQLAlchemy base
  • Implement Patient model with EMR sync fields
  • Implement Doctor model
  • Implement Staff model with roles
  • Implement Appointment model with constraints
  • Implement Service model
  • Implement Invoice and InvoiceItem models
  • Implement Payment model
  • Implement Notification model
  • Implement AuditLog model
  • Create database initialization script
  • Write tests for all models

Verification:

pytest tests/test_models/ -v
mypy src/models/ --strict

Completion Criteria:

  • All models defined with proper relationships
  • All constraints working (foreign keys, unique)
  • 100% test coverage on models
  • mypy passes with strict mode

Task 1.3: Configuration System

Status: Pending Ralph Loop: Yes - "Implement configuration management" Max Iterations: 15

  • Create src/utils/config.py with Pydantic settings
  • Support environment variables
  • Support config file (config.yaml)
  • Create default configuration
  • Implement path management
  • Add EMR integration paths
  • Write tests for config loading

Verification:

pytest tests/test_utils/test_config.py -v

Task 1.4: Logging Infrastructure

Status: Pending Ralph Loop: Not required (simple task)

  • Create src/utils/logging.py
  • Configure rotating file logs
  • Set up console logging with colors
  • Create log formatters
  • Integrate with all modules

Task 1.5: Basic UI Shell

Status: Pending Ralph Loop: Yes - "Create Flet UI shell with navigation" Max Iterations: 25

  • Create src/ui/app.py with main application
  • Implement theme system (src/ui/theme.py)
  • Create sidebar navigation component
  • Implement page routing
  • Create placeholder pages (Dashboard, Calendar, etc.)
  • Add dark mode toggle
  • Test on Windows and Linux

Verification:

python main.py  # App launches without errors

Completion Criteria:

  • App launches in < 2 seconds
  • Navigation works between all pages
  • Dark mode toggle works
  • No visual glitches

Phase 2: Core Features

Task 2.1: Patient Service

Status: Pending Ralph Loop: Yes - "Implement patient CRUD with search" Max Iterations: 30

  • Create src/services/patient_service.py
  • Implement create patient
  • Implement read patient (by ID, phone, name)
  • Implement update patient
  • Implement delete patient (soft delete)
  • Implement search with fuzzy matching
  • Add pagination support
  • Write comprehensive tests

Verification:

pytest tests/test_services/test_patient_service.py -v

Completion Criteria:

  • All CRUD operations working
  • Search returns results in < 200ms for 10k patients
  • Tests pass with 90%+ coverage

Task 2.2: Patient UI

Status: Pending Ralph Loop: Yes - "Create patient list and profile pages" Max Iterations: 30

  • Create patient list page (src/ui/pages/patient_list.py)
  • Implement search bar with instant results
  • Create patient card component
  • Implement infinite scroll / pagination
  • Create patient profile page
  • Implement patient timeline
  • Add new patient dialog
  • Add edit patient functionality

Verification:

  • Visual inspection
  • User testing

Completion Criteria:

  • Search is instant (< 100ms feedback)
  • List scrolls smoothly
  • All patient details visible
  • Edit flow intuitive

Task 2.3: Appointment Service

Status: Pending Ralph Loop: Yes - "Implement appointment booking with conflict detection" Max Iterations: 40

  • Create src/services/appointment_service.py
  • Implement slot availability calculation
  • Implement appointment creation
  • Implement conflict detection
  • Implement appointment update
  • Implement appointment cancellation
  • Implement recurring appointments
  • Add appointment status management
  • Write comprehensive tests

Verification:

pytest tests/test_services/test_appointment_service.py -v

Completion Criteria:

  • Booking works correctly
  • No double bookings possible
  • Recurring appointments created correctly
  • All edge cases handled

Task 2.4: Calendar UI

Status: Pending Ralph Loop: Yes - "Create calendar view with interactions" Max Iterations: 50

  • Create calendar view page (src/ui/pages/calendar_view.py)
  • Implement day view
  • Implement week view
  • Im

Maintain Speckit.Tasks?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

[Speckit.Tasks on getagentictools](https://getagentictools.com/loops/drshailesh88-docassist-practice-manager-task-breakdown?ref=badge)
npx agentictools info loops/drshailesh88-docassist-practice-manager-task-breakdown

The second line is the CLI lookup for this page — handy in READMEs and docs.