# Functional Specification V2.0 - Implementation Gap Analysis **Project:** Agdar HIS (Healthcare Information System) **Analysis Date:** January 9, 2025 **Specification Version:** 2.0 **Analyst:** Implementation Review Team --- ## Executive Summary ### Overall Implementation Status: **62% Complete** The Agdar HIS implementation has made **significant progress** on core technical infrastructure, particularly in appointment management, financial systems, and ZATCA compliance. However, there are **critical gaps** in clinical workflow features, therapist collaboration tools, and specialized reporting capabilities outlined in the Functional Specification V2.0. ### Key Metrics | Category | Status | Completion | |----------|--------|------------| | **Core Infrastructure** | ✅ Complete | 95% | | **Appointment Management** | ✅ Strong | 85% | | **Financial & Billing** | ✅ Strong | 90% | | **Consent Management** | ⚠️ Partial | 70% | | **Clinical Documentation** | ⚠️ Partial | 40% | | **Therapist Workflows** | ❌ Weak | 30% | | **MDT Collaboration** | ❌ Missing | 0% | | **Visual Progress Tracking** | ❌ Missing | 10% | | **Role-Based Features** | ⚠️ Partial | 60% | | **Integrations** | ⚠️ Partial | 50% | ### Critical Gaps Requiring Immediate Attention 1. **MDT Notes & Collaboration** - Completely missing (Section 2.7) 2. **Therapist Reports & Assessments** - Not implemented (Section 2.4) 3. **Visual Progress Indicators** - Missing graphs and charts (Section 2.9) 4. **Multi-Therapist Room Conflict Checker** - Not implemented (Section 2.1) 5. **Session Order Enforcement** - Missing from package workflow (Section 2.2) 6. **Clinical Forms** - Only OT partially done, ABA/SLP/Medical/Nursing missing (Section 2.6) ### Strengths of Current Implementation ✅ **Excellent Foundation:** - Multi-tenant architecture fully implemented - ZATCA e-invoicing Phase 1 & 2 compliant - Appointment state machine with 8 states - SMS/WhatsApp/Email notification infrastructure - Patient confirmation workflow with secure tokens - Comprehensive audit trails and historical records - Auto-generation of IDs (MRN, File, Invoice, Appointment) --- ## Section-by-Section Analysis --- ## 2.1 Appointment Management **Overall Status:** ✅ **85% Complete** | **Priority:** HIGH ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Reception-exclusive booking control | ✅ Complete | Role-based permissions in place | | Conflict-free calendar handling | ✅ Complete | State machine prevents double-booking | | View: Therapist's calendar | ✅ Complete | Calendar views implemented | | Consent check before booking | ✅ Complete | `consent_verified` field enforced | | Session prepayment requirement | ✅ Complete | `finance_cleared` field enforced | | Support for cancellation/reschedule | ✅ Complete | State transitions implemented | | Notification System (SMS/WhatsApp) | ✅ Complete | Multi-channel messaging service | | Session Reminders (24h + 2h) | ✅ Complete | AppointmentReminder model + Celery tasks | | Session history with audit trail | ✅ Complete | HistoricalRecords enabled | | Linked to financial/invoice | ✅ Complete | Invoice model has appointment FK | | Appointment number auto-generation | ✅ Complete | `APT-YYYY-NNNNNN` format | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | Auto-scheduling of full package sessions | ⚠️ Partial | Package model exists but auto-scheduling logic not in services | | Color-coded session types | ⚠️ Partial | `get_status_color()` method exists but limited to status, not session type | | Consent Forms Auto Generation | ⚠️ Partial | Consent model exists but auto-generation on booking not implemented | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Multi-Therapist Room Conflict Checker** | 🔴 CRITICAL | Multiple therapists can book same room simultaneously | | **Missed Appointment Logging** | 🟡 HIGH | No structured logging of no-show reasons | | **Appointment Quick Actions** | 🟡 MEDIUM | No quick-access UI for reschedule/cancel from calendar | | **Re-credit logic for valid cancellations** | 🟡 HIGH | No automatic session credit restoration | ### Implementation Details **What Exists:** ```python # appointments/models.py class Appointment: - 8 status states (BOOKED, CONFIRMED, RESCHEDULED, etc.) - State machine with transition validation - finance_cleared and consent_verified flags - AppointmentReminder model with scheduled_for - AppointmentConfirmation with secure tokens ``` **What's Missing:** - Room conflict detection across multiple providers - Missed appointment reason tracking - Package session auto-scheduling service - Session credit restoration logic ### Recommendations 1. **CRITICAL:** Implement room conflict checker in `appointments/services.py` 2. **HIGH:** Add missed appointment reason field and logging 3. **HIGH:** Create package session auto-scheduler service 4. **MEDIUM:** Add session type color coding to calendar views --- ## 2.2 Package & Consent Workflow **Overall Status:** ⚠️ **60% Complete** | **Priority:** CRITICAL ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | General Consent Enforcement | ✅ Complete | Consent model with verification | | Package Consent Enforcement | ✅ Complete | Consent types include package-specific | | Digital Signature Capture | ✅ Complete | ConsentToken model with e-signature support | | Consent Repository | ✅ Complete | Consent model with versioning | | Signed forms to PDF | ✅ Complete | PDF service implemented | | Package Creation | ✅ Complete | Package and PackagePurchase models | | Package Tracker | ✅ Complete | sessions_used, sessions_remaining properties | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | Consent Validity Periods | ⚠️ Partial | No expiry_date field in Consent model | | Auto Consent Status Checks | ⚠️ Partial | Manual checks exist but not automated at booking | | Consent Forms Version Control | ⚠️ Partial | Version field exists but no active version management | | Package modification controls | ⚠️ Partial | No audit logs for package changes | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Session Order Enforcement** | 🔴 CRITICAL | Sessions can be taken out of clinical sequence | | **Immediate scheduling of all package sessions** | 🔴 CRITICAL | No auto-scheduling on package creation | | **Session validity window enforcement** | 🟡 HIGH | No expiry date tracking per session | | **Therapist Dashboard Alerts** | 🟡 HIGH | No remaining sessions/expiry alerts | | **Partial Package Visibility** | 🟡 MEDIUM | Therapists see all sessions, not just assigned | | **Notification reminders for unused sessions** | 🟡 MEDIUM | No alerts for expiring packages | ### Implementation Details **What Exists:** ```python # finance/models.py class Package: - services (ManyToMany through PackageService) - total_sessions, price, validity_days - PackagePurchase tracks usage # core/models.py class Consent: - consent_type, content_text - Digital signature support - ConsentToken for email signing ``` **What's Missing:** - Session sequence/order field in PackageService - Auto-scheduling service for package sessions - Expiry date calculation and enforcement - Therapist-specific session visibility filters - Notification triggers for expiring packages ### Recommendations 1. **CRITICAL:** Add session_order field to PackageService model 2. **CRITICAL:** Implement auto-scheduling service for package creation 3. **HIGH:** Add expiry_date to Consent model with validation 4. **HIGH:** Create package expiry notification Celery task 5. **MEDIUM:** Implement therapist-specific package session filters --- ## 2.3 Therapy Session Module **Overall Status:** ❌ **30% Complete** | **Priority:** CRITICAL ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Basic session entry | ✅ Complete | OT consultation form exists | | Session forms by clinic type | ⚠️ Partial | Only OT partially implemented | | Auto-save functionality | ❌ Missing | No draft auto-save | | Session history | ✅ Complete | Historical records enabled | ### ❌ Missing Features (CRITICAL) | Feature | Priority | Impact | |---------|----------|--------| | **Therapist Dashboard** | 🔴 CRITICAL | No centralized therapist workspace | | **Filter by date/clinic/patient** | 🔴 CRITICAL | Basic filtering only | | **Incomplete session notes indicator** | 🔴 CRITICAL | No tracking of draft/incomplete notes | | **Patient Priority Flags** | 🟡 HIGH | No urgent case marking | | **Progress Snapshot Widget** | 🟡 HIGH | No latest 3 sessions view | | **Assigned Tasks Panel** | 🟡 HIGH | No pending reports tracking | | **Therapy Goal Tracking** | 🔴 CRITICAL | No goal selection/progress per session | | **Linked Assessment Results** | 🟡 HIGH | No assessment tool integration | | **Role-based Report Signing** | ⚠️ Partial | ClinicallySignableMixin exists but workflow incomplete | | **Junior/Assistant draft workflow** | ❌ Missing | No draft → senior approval flow | | **Session Status Tracking** | ⚠️ Partial | Appointment status exists but not session-specific | | **Auto-reminder for draft submission** | ❌ Missing | No 24h reminder for incomplete notes | | **Weekly workload summary** | ❌ Missing | No automated reports to therapists | | **Final Report Generation** | ❌ Missing | No report builder from session data | | **Patient referral to another department** | ❌ Missing | No referral workflow | | **Timer for session start/end** | ❌ Missing | Manual entry only | | **Media file attachments** | ⚠️ Partial | Attachment model exists but not integrated | ### Implementation Details **What Exists:** ```python # ot/models.py - OTConsultation model (partial) - Basic form fields # core/models.py - ClinicallySignableMixin (signed_by, signed_at) - Attachment model (generic) ``` **What's Missing:** - Therapist dashboard views - Session goal tracking models - Assessment tool integration - Draft workflow state machine - Report generation service - Referral model and workflow - Session timer functionality ### Recommendations 1. **CRITICAL:** Create TherapistDashboard view with all required widgets 2. **CRITICAL:** Implement SessionGoal model and tracking 3. **CRITICAL:** Build draft → approval workflow for junior therapists 4. **HIGH:** Create Report model and generation service 5. **HIGH:** Implement Referral model and notification workflow 6. **MEDIUM:** Add session timer with auto-calculation --- ## 2.4 Therapist Reports & Assessments **Overall Status:** ❌ **10% Complete** | **Priority:** CRITICAL ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Basic report storage | ⚠️ Partial | Can store in Attachment model | ### ❌ Missing Features (ALL CRITICAL) | Feature | Priority | Impact | |---------|----------|--------| | **Defined Report Types** | 🔴 CRITICAL | No Initial/Progress/Re-Assessment/Discharge models | | **Report Generation Triggers** | 🔴 CRITICAL | No automatic report creation logic | | **Clinic-Specific Report Templates** | 🔴 CRITICAL | No templates for OT/ABA/SLP/Psychology | | **Auto-populated fields** | 🔴 CRITICAL | No data aggregation from sessions | | **Visual & Tabular Summaries** | 🔴 CRITICAL | No graphs/charts generation | | **Session summary table** | 🔴 CRITICAL | No session aggregation | | **Export to PDF/DOCX** | ⚠️ Partial | PDF service exists but not for reports | | **Multilingual reports** | ❌ Missing | No bilingual report generation | | **Version history** | ❌ Missing | No report versioning | ### Implementation Details **What's Missing (Everything):** - Report model with types (Initial, Progress, Re-Assessment, Discharge) - ReportTemplate model for clinic-specific formats - Report generation service - Data aggregation from session notes - Chart/graph generation library integration - Report export service - Bilingual template support ### Recommendations 1. **CRITICAL:** Create Report model with all 4 types 2. **CRITICAL:** Create ReportTemplate model for each clinic 3. **CRITICAL:** Implement ReportGenerationService 4. **CRITICAL:** Integrate charting library (Chart.js or similar) 5. **HIGH:** Build session data aggregation service 6. **HIGH:** Implement bilingual report templates --- ## 2.5 Financial & Billing Module **Overall Status:** ✅ **90% Complete** | **Priority:** MEDIUM ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Invoice Generation | ✅ Complete | Invoice model with auto-generation | | Auto-generate on appointment/package | ✅ Complete | Signals in place | | Session-level billing | ✅ Complete | InvoiceLineItem model | | Package-level invoice | ✅ Complete | Package billing supported | | Payment Modes (Cash/Card/Transfer) | ✅ Complete | Payment model with all methods | | Bank transfer reference field | ✅ Complete | Payment.reference field | | Real-Time Payment Status | ✅ Complete | Invoice.status with 6 states | | Session check-in prevention | ✅ Complete | finance_cleared flag | | Reports & Analytics | ⚠️ Partial | Basic queries possible, no dashboard | | Audit & Compliance | ✅ Complete | HistoricalRecords + timestamps | | Alerts & Flags | ⚠️ Partial | No automated alerts to Finance Manager | | ZATCA Compliance | ✅ Complete | Full Phase 1 & 2 implementation | | Multilingual invoices | ✅ Complete | Arabic/English support | | Package prepayment | ✅ Complete | Enforced via finance_cleared | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | Revenue reports by clinic/therapist | ⚠️ Partial | Data available but no report views | | Daily/weekly/monthly summaries | ⚠️ Partial | No automated report generation | | Debtor report | ⚠️ Partial | Can query but no formatted report | | Exportable reports (PDF/Excel/CSV) | ⚠️ Partial | PDF exists, Excel/CSV missing | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Finance Manager alerts** | 🟡 MEDIUM | No automated overdue invoice notifications | | **Duplicate invoice prevention** | 🟡 MEDIUM | No validation against duplicates | | **Integration with external accounting** | 🟢 LOW | Future requirement | | **Commission tracking** | 🟡 MEDIUM | No commission-free payment flagging | ### Recommendations 1. **HIGH:** Create FinancialReports view with all report types 2. **MEDIUM:** Implement automated Finance Manager alerts 3. **MEDIUM:** Add duplicate invoice detection 4. **MEDIUM:** Build Excel/CSV export functionality --- ## 2.6 Clinical Documentation (Forms) **Overall Status:** ⚠️ **40% Complete** | **Priority:** CRITICAL ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | OT Consultation Form | ⚠️ Partial | OTConsultation model exists | | Role-based access | ✅ Complete | Permission system in place | | Draft mode with auto-save | ❌ Missing | No auto-save implemented | | Approval workflow | ⚠️ Partial | ClinicallySignableMixin exists | ### ❌ Missing Features (CRITICAL) | Feature | Priority | Impact | |---------|----------|--------| | **ABA Forms** | 🔴 CRITICAL | No ABA consultation/assessment forms | | **SLP Forms** | 🔴 CRITICAL | No SLP forms (4 types needed) | | **Medical Forms** | 🔴 CRITICAL | No medical consultation/follow-up forms | | **Nursing Forms** | 🔴 CRITICAL | No nursing assessment forms | | **Psychology Forms** | 🔴 CRITICAL | No psychology forms | | **Dynamic fields by session type** | 🔴 CRITICAL | No conditional field logic | | **Auto-fill from previous sessions** | 🟡 HIGH | No data pre-population | | **Mandatory field validation** | ⚠️ Partial | Basic validation only | | **Attachments & Media Uploads** | ⚠️ Partial | Attachment model exists but not integrated | | **Form Versioning** | ❌ Missing | No template version control | | **Referral & Cross-Clinic Use** | ❌ Missing | No referral flagging | | **Multilingual forms** | ⚠️ Partial | Structure exists but not implemented | ### Implementation Details **What Exists:** ```python # ot/models.py - OTConsultation (partial implementation) - Basic fields for OT assessment # core/models.py - Attachment model (generic) - ClinicallySignableMixin ``` **What's Missing:** - ABA app with consultation/intervention forms - SLP app with 4 form types - Medical app with consultation/follow-up forms - Nursing app with assessment forms - Psychology app with forms - FormTemplate model for version control - Auto-fill service from previous sessions - Referral model and workflow ### Recommendations 1. **CRITICAL:** Create ABA app with all required forms 2. **CRITICAL:** Create SLP app with 4 form types 3. **CRITICAL:** Create Medical app with consultation/follow-up forms 4. **CRITICAL:** Create Nursing app with assessment forms 5. **CRITICAL:** Create Psychology app with forms 6. **HIGH:** Implement FormTemplate model with versioning 7. **HIGH:** Build auto-fill service for repeat data 8. **MEDIUM:** Integrate Attachment model with all forms --- ## 2.7 MDT Notes & Collaboration **Overall Status:** ❌ **0% Complete** | **Priority:** CRITICAL ### ❌ Missing Features (ALL CRITICAL) | Feature | Priority | Impact | |---------|----------|--------| | **MDT Note Creation** | 🔴 CRITICAL | No multidisciplinary collaboration tool | | **Access restricted to case professionals** | 🔴 CRITICAL | No MDT-specific permissions | | **Collaborative Editing Workflow** | 🔴 CRITICAL | No multi-contributor system | | **Tag colleagues for input** | 🔴 CRITICAL | No mention/tagging system | | **Approval & Finalization** | 🔴 CRITICAL | No dual-senior sign-off | | **Version Control & History** | 🔴 CRITICAL | No MDT note versioning | | **Notification System** | 🔴 CRITICAL | No MDT-specific alerts | | **Integration with Patient Profile** | 🔴 CRITICAL | No MDT section in patient view | | **Export & Sharing** | 🔴 CRITICAL | No MDT PDF export | | **Security & Confidentiality** | 🔴 CRITICAL | No MDT role-based visibility | ### Implementation Details **What's Missing (Everything):** ```python # Needed models: class MDTNote: - patient FK - contributors (ManyToMany to User) - content - status (DRAFT, PENDING_APPROVAL, FINALIZED) - finalized_by (ManyToMany - requires 2 seniors) - version tracking class MDTContribution: - mdt_note FK - contributor FK - content - timestamp class MDTApproval: - mdt_note FK - approver FK - approved_at ``` ### Recommendations 1. **CRITICAL:** Create MDTNote model with full workflow 2. **CRITICAL:** Implement MDTContribution model for tracking 3. **CRITICAL:** Build dual-senior approval logic 4. **CRITICAL:** Create MDT notification system 5. **CRITICAL:** Add MDT section to patient profile 6. **HIGH:** Implement MDT PDF export 7. **HIGH:** Build tagging/mention system --- ## 2.8 Role-Based Permissions & Notifications **Overall Status:** ⚠️ **60% Complete** | **Priority:** HIGH ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | User Roles defined | ✅ Complete | User.Role with 8 types | | Basic role-based access | ✅ Complete | Permission decorators exist | | Patient Notifications (SMS/WhatsApp) | ✅ Complete | Multi-channel messaging | | Appointment booking/confirmation | ✅ Complete | Notification triggers in place | | Reminders (1 day before) | ✅ Complete | Celery tasks implemented | | Therapist alerts on confirmation | ✅ Complete | Notification service | | Finance notifications | ⚠️ Partial | Basic structure, no daily reports | | Admin notifications | ⚠️ Partial | System warnings not implemented | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | Clinic-Scoped Visibility | ⚠️ Partial | Basic filtering exists but not enforced everywhere | | Session Conflict Checks | ⚠️ Partial | Appointment conflicts checked, not room conflicts | | Referral Trigger Visibility | ❌ Missing | No referral access control | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Receptionist print management reports** | 🟡 HIGH | No report generation for reception | | **Receptionist print final medical reports** | 🟡 HIGH | No access to finalized reports | | **Junior therapist restrictions** | 🟡 HIGH | Can see more than assigned patients | | **Senior monitoring of juniors** | 🟡 HIGH | No documentation progress tracking | | **Clinical Coordinator cross-department access** | 🟡 HIGH | No special coordinator permissions | | **Senior alerts for >5 day delays** | 🔴 CRITICAL | No automated delay notifications | | **MDT request alerts** | 🔴 CRITICAL | No MDT tagging notifications | | **Reception referral alerts** | 🟡 HIGH | No referral booking notifications | | **Finance daily unpaid report** | 🟡 MEDIUM | No automated daily reports | | **Admin system warnings** | 🟡 MEDIUM | No failed login/permission violation alerts | ### Recommendations 1. **CRITICAL:** Implement senior delay notification (>5 days) 2. **HIGH:** Create receptionist report access 3. **HIGH:** Enforce junior therapist patient restrictions 4. **HIGH:** Build Clinical Coordinator special permissions 5. **MEDIUM:** Implement Finance daily report automation 6. **MEDIUM:** Add Admin system warning alerts --- ## 2.9 Patient Profiles with Visual Progress **Overall Status:** ❌ **10% Complete** | **Priority:** CRITICAL ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Unified Patient Record | ✅ Complete | Patient model comprehensive | | Appointment history | ✅ Complete | Appointment FK to patient | | Package details | ✅ Complete | PackagePurchase model | | Linked consents | ✅ Complete | Consent FK to patient | | Financial overview | ✅ Complete | Invoice FK to patient | | Editable demographic info | ✅ Complete | Patient CRUD operations | | Secure document uploads | ✅ Complete | Attachment model | | Audit & Version History | ✅ Complete | HistoricalRecords | ### ❌ Missing Features (CRITICAL) | Feature | Priority | Impact | |---------|----------|--------| | **Visual Progress Indicators** | 🔴 CRITICAL | No graphs/charts for patient progress | | **Dynamic graphs displaying metrics** | 🔴 CRITICAL | No quantitative visualization | | **Progress over time by clinic** | 🔴 CRITICAL | No clinic-specific progress tracking | | **Color-coded improvement indicators** | 🔴 CRITICAL | No visual status indicators | | **Export visual reports** | 🔴 CRITICAL | No progress report generation | | **Safety Flag & Special Notes** | 🔴 CRITICAL | No safety alert system | | **Aggression risk flagging** | 🔴 CRITICAL | No behavioral risk tracking | | **Allergies/medical warnings** | 🟡 HIGH | No structured allergy tracking | | **Crisis behavior protocols** | 🟡 HIGH | No protocol documentation | | **Auto-flag on dashboard** | 🔴 CRITICAL | No safety alert display | | **Referral Tracker** | 🟡 HIGH | No referral status tracking | | **MDT & Documentation Access** | 🔴 CRITICAL | No MDT section (MDT not implemented) | | **Developmental & Clinical Profile** | 🟡 HIGH | No structured clinical history | | **Therapy plans** | 🟡 HIGH | No therapy objective tracking | ### Implementation Details **What Exists:** ```python # core/models.py class Patient: - Demographics complete - Contact info complete - Caregiver info complete - HistoricalRecords enabled ``` **What's Missing:** ```python # Needed models/features: class PatientSafetyFlag: - patient FK - flag_type (AGGRESSION, ELOPEMENT, ALLERGY, etc.) - severity - description - created_by (Senior/Admin only) class PatientProgressMetric: - patient FK - clinic FK - metric_type - value - date - session FK class TherapyGoal: - patient FK - clinic FK - goal_text - target_date - status ``` ### Recommendations 1. **CRITICAL:** Create PatientSafetyFlag model and UI 2. **CRITICAL:** Implement PatientProgressMetric for tracking 3. **CRITICAL:** Integrate charting library (Chart.js/D3.js) 4. **CRITICAL:** Build progress visualization dashboard 5. **HIGH:** Create TherapyGoal model and tracking 6. **HIGH:** Implement referral tracker 7. **MEDIUM:** Add developmental history structured fields --- ## 2.10 Logs & Audit Trails **Overall Status:** ✅ **85% Complete** | **Priority:** MEDIUM ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | User Action Logging | ✅ Complete | AuditLog model implemented | | Timestamped entries | ✅ Complete | All models have timestamps | | User ID and role tracking | ✅ Complete | User FK in audit logs | | IP address tracking | ✅ Complete | ip_address field in AuditLog | | Clinical Documentation audit | ✅ Complete | HistoricalRecords on all clinical models | | Version history | ✅ Complete | simple_history integration | | Login & Access History | ⚠️ Partial | last_login_ip tracked, no login log model | | File Access & Export Logs | ⚠️ Partial | Can log but not automated | | Administrative Oversight Tools | ⚠️ Partial | AuditLog exists but no admin panel | | Compliance & Legal Traceability | ✅ Complete | 10-year retention possible | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | System Activity Logs | ⚠️ Partial | No automated system event logging | | Login attempts (failed) | ⚠️ Partial | No failed login tracking | | Detection of unauthorized access | ⚠️ Partial | No alert system | | Admin search/filter logs | ⚠️ Partial | Data exists but no UI | | Generate audit reports | ⚠️ Partial | No report generation | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **System downtime logging** | 🟡 MEDIUM | No automated system event tracking | | **High-volume operation alerts** | 🟡 MEDIUM | No bulk operation monitoring | | **Admin panel for log search** | 🟡 HIGH | No centralized log viewer | | **Exportable audit reports** | 🟡 HIGH | No PDF/Excel audit exports | ### Recommendations 1. **HIGH:** Create admin log viewer with search/filter 2. **HIGH:** Implement audit report generation 3. **MEDIUM:** Add failed login tracking 4. **MEDIUM:** Build system event logging 5. **LOW:** Add bulk operation monitoring --- ## 2.11 General Notes & Information **Overall Status:** ⚠️ **70% Complete** | **Priority:** MEDIUM ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Version Control | ✅ Complete | Git repository in use | | Deployment Protocol | ⚠️ Partial | Process exists but not documented | | Bug Reporting | ⚠️ Partial | No centralized tracker mentioned | | Quality Assurance | ⚠️ Partial | Tests exist but coverage unknown | | Configuration Control | ✅ Complete | Settings managed properly | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Staging & Testing Environment** | 🔴 CRITICAL | No separate staging server mentioned | | **Regression Testing Mandate** | 🟡 HIGH | No automated regression tests | | **Patch documentation** | 🟡 MEDIUM | No changelog process | | **Emergency Support Plan** | 🟡 HIGH | No documented emergency procedures | | **Offline backup forms** | 🟡 MEDIUM | No printable backup schedules | ### Recommendations 1. **CRITICAL:** Set up staging environment 2. **HIGH:** Implement regression test suite 3. **HIGH:** Document emergency support procedures 4. **MEDIUM:** Create changelog process 5. **MEDIUM:** Design printable backup forms --- ## 2.12 Updated Reception Role **Overall Status:** ✅ **80% Complete** | **Priority:** MEDIUM ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Book/reschedule/cancel appointments | ✅ Complete | Appointment CRUD | | Prevent booking without consent | ✅ Complete | consent_verified enforcement | | Prevent booking without payment | ✅ Complete | finance_cleared enforcement | | View therapist calendar | ✅ Complete | Calendar views exist | | Upload consent forms | ✅ Complete | Attachment model | | Invoice handling | ✅ Complete | Invoice CRUD operations | | Record payment details | ✅ Complete | Payment model | | Print/reprint invoices | ✅ Complete | PDF service | | Trigger SMS/WhatsApp | ✅ Complete | Messaging service | | Upload patient records | ✅ Complete | Attachment model | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | Generate reports (session status, occupation) | ⚠️ Partial | Data available but no report views | | Quick action tools | ⚠️ Partial | Basic UI exists but not optimized | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Flag patients missing documentation** | 🟡 MEDIUM | No automated consent/document alerts | | **Generate consent reminders** | 🟡 MEDIUM | No automated reminder system | | **Alert finance/admin for rejected payments** | 🟡 MEDIUM | No payment failure notifications | ### Recommendations 1. **MEDIUM:** Create reception report dashboard 2. **MEDIUM:** Implement document/consent reminder system 3. **MEDIUM:** Add payment failure alert system --- ## 2.13 Updated Access Management **Overall Status:** ⚠️ **65% Complete** | **Priority:** HIGH ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | User Types & Role Tiers | ✅ Complete | 8 roles defined in User model | | Receptionist access | ✅ Complete | Proper restrictions in place | | Therapist roles (Junior/Assistant/Senior) | ✅ Complete | Role hierarchy exists | | Finance Staff access | ✅ Complete | Limited to financial data | | Administrator access | ✅ Complete | Full system access | | Access Logs | ✅ Complete | AuditLog tracks all actions | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | Departmental Boundaries | ⚠️ Partial | Basic filtering exists but not strictly enforced | | Clinical Coordinator cross-department | ⚠️ Partial | Role exists but no special permissions | | Referral Access Workflow | ❌ Missing | No referral-based access control | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Junior: View only assigned patients** | 🟡 HIGH | Juniors can see all patients in clinic | | **Assistant: Submit for Senior approval** | 🟡 HIGH | No approval workflow | | **Senior: Monitor documentation progress** | 🟡 HIGH | No progress tracking dashboard | | **Senior: Receive alerts for missing notes** | 🔴 CRITICAL | No automated alerts | | **Coordinator: Escalate missed documentation** | 🟡 HIGH | No escalation workflow | | **Unauthorized access alerts** | 🟡 MEDIUM | No real-time alerts | | **Privilege escalation approval** | 🟡 MEDIUM | No two-step approval | | **MDT access control** | 🔴 CRITICAL | MDT not implemented | ### Recommendations 1. **CRITICAL:** Implement senior alert system for delayed documentation 2. **HIGH:** Enforce junior therapist patient restrictions 3. **HIGH:** Build approval workflow for assistants 4. **HIGH:** Create senior monitoring dashboard 5. **MEDIUM:** Add unauthorized access alerts 6. **MEDIUM:** Implement privilege escalation approval --- ## 2.14 Security & Safety Requirements **Overall Status:** ⚠️ **70% Complete** | **Priority:** HIGH ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Role-based visibility | ✅ Complete | Permission system enforced | | Encrypted database storage | ✅ Complete | Django ORM with encryption | | Secure document upload | ✅ Complete | File validation in place | | Session timeout | ✅ Complete | Django session management | | HTTPS enforcement | ✅ Complete | SSL configured | | Audit & Traceability | ✅ Complete | Comprehensive logging | | Data export logging | ✅ Complete | AuditLog tracks exports | | Historical versions | ✅ Complete | simple_history enabled | | Backup & Disaster Recovery | ⚠️ Partial | Manual backups possible | | Device & Network Security | ⚠️ Partial | Basic security in place | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | Clinical Safety Flags | ❌ Missing | No safety flag system | | Emergency Access Protocol | ❌ Missing | No "break the glass" feature | | Communication Safety | ⚠️ Partial | Templates exist but no content validation | | IP restriction | ❌ Missing | No IP-based access control | | Unknown device detection | ⚠️ Partial | last_login_ip tracked but no alerts | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Clinical Safety Flags** | 🔴 CRITICAL | No behavioral risk indicators | | **Color-coded visual flag system** | 🔴 CRITICAL | No safety alerts in UI | | **Alert on flagged patient access** | 🔴 CRITICAL | No automatic warnings | | **Senior/Coordinator-only flag editing** | 🔴 CRITICAL | No permission control | | **Break the Glass feature** | 🟡 HIGH | No emergency override | | **Daily automatic backups** | 🟡 HIGH | No automated backup system | | **30-day backup retention** | 🟡 HIGH | No retention policy | | **WhatsApp/SMS content validation** | 🟡 MEDIUM | No sensitive term detection | | **Remote session termination** | 🟡 MEDIUM | No admin session management | | **IP restriction per user group** | 🟡 MEDIUM | No IP whitelisting | | **Unknown device alerts** | 🟡 MEDIUM | No login anomaly detection | ### Recommendations 1. **CRITICAL:** Implement PatientSafetyFlag model and UI 2. **CRITICAL:** Add safety flag alerts to all patient views 3. **HIGH:** Create emergency access protocol 4. **HIGH:** Set up automated daily backups 5. **MEDIUM:** Implement message content validation 6. **MEDIUM:** Add remote session management 7. **MEDIUM:** Build IP restriction system --- ## 2.15 Compliance **Overall Status:** ✅ **85% Complete** | **Priority:** HIGH ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Saudi MOH Standards Alignment | ✅ Complete | Patient data structure compliant | | Legal & Documentation Readiness | ✅ Complete | Consent templates with legal clauses | | Licensing & Audit Readiness | ✅ Complete | Exportable audit logs | | System Behavior for Regulatory Control | ✅ Complete | Lock-in of finalized reports | | Arabic Language Compliance | ✅ Complete | Full RTL support | | Data Sovereignty & Hosting | ✅ Complete | Can be hosted in KSA | | ZATCA Compliance | ✅ Complete | Phase 1 & 2 fully implemented | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | Therapy reports MOH format | ⚠️ Partial | Reports not yet implemented | | Bilingual report generation | ⚠️ Partial | Structure exists but not implemented | | Inactive patient flagging | ❌ Missing | No periodic review system | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Alerts for expired consents** | 🟡 HIGH | No automated consent expiry alerts | | **Inactive patient periodic review** | 🟡 MEDIUM | No flagging system | | **Admin alert for external API access** | 🟡 MEDIUM | No API access monitoring | ### Recommendations 1. **HIGH:** Implement consent expiry alert system 2. **MEDIUM:** Create inactive patient review workflow 3. **MEDIUM:** Add API access monitoring and alerts --- ## 2.16 Third Party & Governmental Integrations **Overall Status:** ⚠️ **50% Complete** | **Priority:** MEDIUM ### ✅ Implemented Features | Feature | Status | Evidence | |---------|--------|----------| | Integration infrastructure | ✅ Complete | integrations app exists | | ZATCA integration | ✅ Complete | Full e-invoicing implementation | | API architecture | ✅ Complete | REST framework in place | ### ⚠️ Partially Implemented | Feature | Status | Gap Description | |---------|--------|-----------------| | Nafis/Wassel Integration | ⚠️ Partial | Models exist but not connected | | NPHIES Integration | ⚠️ Partial | Models exist but not active | ### ❌ Missing Features | Feature | Priority | Impact | |---------|----------|--------| | **Nafis/Wassel API connection** | 🟡 MEDIUM | No active integration | | **National ID verification** | 🟡 MEDIUM | No real-time verification | | **Case tracking integration** | 🟡 MEDIUM | No government case sync | | **Audit logs for integration data** | 🟡 MEDIUM | No integration-specific logging | | **Tawakkalna/Sehhaty placeholders** | 🟢 LOW | Future requirement | ### Recommendations 1. **MEDIUM:** Complete Nafis/Wassel API integration 2. **MEDIUM:** Implement national ID verification 3. **MEDIUM:** Add integration audit logging 4. **LOW:** Create placeholders for future integrations --- ## Section 3: Implementation Roadmap Comparison ### Phase 1: Core Infrastructure & System Setup **Timeline:** June 1-30, 2025 **Status:** ✅ **95% Complete** | Deliverable | Status | Notes | |-------------|--------|-------| | System Environment Setup | ✅ Complete | Multi-tenant architecture in place | | User Access & Configuration | ✅ Complete | Role system implemented | | Appointment Management | ✅ Complete | Full state machine | | Package and Consent Workflow | ⚠️ Partial | Missing auto-scheduling | | Therapist access to patient list | ✅ Complete | Views implemented | | Basic session note input | ⚠️ Partial | Only OT partially done | | 2 OT form templates | ⚠️ Partial | 1 template partially done | | Consent signature functionality | ✅ Complete | Digital signature ready | | Finance & Billing Foundation | ✅ Complete | Invoice generation working | | Notification system | ✅ Complete | Multi-channel messaging | | Session Statistics | ⚠️ Partial | Data available, no reports | **Overall Phase 1:** ✅ **85% Complete** --- ### Phase 2: Therapy Documentation & Clinical Forms **Timeline:** July 1-31, 2025 **Status:** ⚠️ **35% Complete** | Deliverable | Status | Notes | |-------------|--------|-------| | Full rollout of session notes (all clinics) | ❌ Missing | Only OT partial | | Dynamic forms (Consultation/Assessment/etc.) | ❌ Missing | Not implemented | | Auto-save and draft logic | ❌ Missing | Not implemented | | Session editing with audit | ✅ Complete | HistoricalRecords enabled | | 50% clinic-specific templates | ❌ Missing | <10% complete | | Versioning and submission tracking | ⚠️ Partial | Version field exists | | Therapist dashboard filters | ⚠️ Partial | Basic filtering only | | Session referral system | ❌ Missing | Not implemented | | Senior sign-off logic | ⚠️ Partial | Mixin exists, workflow missing | | Reminder triggers for pending reports | ❌ Missing | Not implemented | | Flagging of overdue documentation | ❌ Missing | Not implemented | | UAT & Feedback Loop | ❌ Pending | Not started | **Overall Phase 2:** ⚠️ **35% Complete** --- ### Phase 3: MDT Notes, Reporting & Visual Patient Profiles **Timeline:** August 1-31, 2025 **Status:** ❌ **15% Complete** | Deliverable | Status | Notes | |-------------|--------|-------| | MDT Notes creation flow | ❌ Missing | Not implemented | | Inter-clinic access control | ❌ Missing | Not implemented | | Version control and contributor logs | ❌ Missing | Not implemented | | Final report types setup | ❌ Missing | Not implemented | | Structured report outputs | ❌ Missing | Not implemented | | Graphical session summaries | ❌ Missing | Not implemented | | Full demographic/clinical profile | ✅ Complete | Patient model complete | | Visual progress charts | ❌ Missing | Not implemented | | Safety flag system | ❌ Missing | Not implemented | | UAT & Clinical Review | ❌ Pending | Not started | **Overall Phase 3:** ❌ **15% Complete** --- ### Phase 4: Logs, Audit Trails & Permissions Finalization **Timeline:** September 1-30, 2025 **Status:** ✅ **80% Complete** | Deliverable | Status | Notes | |-------------|--------|-------| | Full user action logs | ✅ Complete | AuditLog implemented | | Report version history | ✅ Complete | HistoricalRecords enabled | | IP and device-based login tracking | ⚠️ Partial | IP tracked, no alerts | | Finalization of permission tiers | ⚠️ Partial | Basic roles done, enforcement gaps | | Testing of restricted access logic | ⚠️ Partial | Needs comprehensive testing | | Admin oversight dashboards | ⚠️ Partial | No dedicated dashboard | | Data security validation | ✅ Complete | Security measures in place | | Compliance alignment | ✅ Complete | MOH/ZATCA compliant | | QA pass/fail reports | ❌ Pending | Not documented | | Notification Finalization | ⚠️ Partial | Basic notifications done | **Overall Phase 4:** ✅ **75% Complete** --- ### Phase 5: Final Testing, Training & Go-Live Prep **Timeline:** October 1-31, 2025 **Status:** ❌ **20% Complete** | Deliverable | Status | Notes | |-------------|--------|-------| | Full UAT Execution | ❌ Pending | Not started | | Real-life scenario testing | ❌ Pending | Not started | | Training Program Rollout | ❌ Pending | Not started | | Training materials | ❌ Pending | Not started | | System usage assessments | ❌ Pending | Not started | | Bug Resolution & Refinement | ⚠️ Ongoing | Continuous process | | Go-Live Checklist Finalization | ❌ Pending | Not started | | Launch readiness sign-off | ❌ Pending | Not started | | Final backups, staging/live sync | ⚠️ Partial | Manual process exists | | Technical readiness validation | ❌ Pending | Not started | **Overall Phase 5:** ❌ **20% Complete** --- ## Priority Recommendations ### 🔴 CRITICAL - Must Fix Before Production 1. **MDT Notes & Collaboration (Section 2.7)** - Create MDTNote, MDTContribution, MDTApproval models - Implement dual-senior approval workflow - Build MDT notification system - **Effort:** 3-4 weeks | **Impact:** CRITICAL 2. **Patient Safety Flags (Section 2.9, 2.14)** - Create PatientSafetyFlag model - Implement visual flag system in UI - Add automatic alerts on patient access - **Effort:** 1-2 weeks | **Impact:** CRITICAL 3. **Multi-Therapist Room Conflict Checker (Section 2.1)** - Implement room availability checking - Prevent double-booking of physical spaces - **Effort:** 1 week | **Impact:** CRITICAL 4. **Session Order Enforcement (Section 2.2)** - Add session_order field to PackageService - Enforce clinical sequence in booking - **Effort:** 1 week | **Impact:** CRITICAL 5. **Senior Delay Notifications (Section 2.8)** - Create Celery task for >5 day documentation delays - Send automated alerts to seniors - **Effort:** 3-5 days | **Impact:** CRITICAL 6. **Therapist Reports & Assessments (Section 2.4)** - Create Report model with 4 types - Implement report generation service - Build session data aggregation - **Effort:** 3-4 weeks | **Impact:** CRITICAL 7. **Clinical Forms for All Clinics (Section 2.6)** - Create ABA, SLP, Medical, Nursing, Psychology apps - Implement all required form types - **Effort:** 6-8 weeks | **Impact:** CRITICAL --- ### 🟡 HIGH - Important for Full Functionality 8. **Therapist Dashboard (Section 2.3)** - Create centralized therapist workspace - Add all required widgets (progress, tasks, alerts) - **Effort:** 2-3 weeks | **Impact:** HIGH 9. **Visual Progress Tracking (Section 2.9)** - Integrate charting library (Chart.js) - Create PatientProgressMetric model - Build progress visualization dashboard - **Effort:** 2-3 weeks | **Impact:** HIGH 10. **Package Auto-Scheduling (Section 2.2)** - Implement auto-scheduling service - Create all package sessions on purchase - **Effort:** 1-2 weeks | **Impact:** HIGH 11. **Therapy Goal Tracking (Section 2.3)** - Create TherapyGoal model - Implement goal selection per session - Track progress against goals - **Effort:** 2 weeks | **Impact:** HIGH 12. **Referral System (Section 2.3, 2.6)** - Create Referral model - Implement cross-clinic referral workflow - Add reception notification system - **Effort:** 1-2 weeks | **Impact:** HIGH 13. **Junior/Assistant Approval Workflow (Section 2.3, 2.8)** - Implement draft → senior approval flow - Add approval tracking and notifications - **Effort:** 1-2 weeks | **Impact:** HIGH 14. **Financial Reports Dashboard (Section 2.5)** - Create comprehensive financial reports - Add Excel/CSV export - Implement automated Finance Manager alerts - **Effort:** 2 weeks | **Impact:** HIGH 15. **Consent Expiry Management (Section 2.2, 2.15)** - Add expiry_date to Consent model - Create expiry alert system - **Effort:** 1 week | **Impact:** HIGH --- ### 🟢 MEDIUM - Enhancements & Quality of Life 16. **Staging Environment (Section 2.11)** - Set up separate staging server - Implement deployment pipeline - **Effort:** 1 week | **Impact:** MEDIUM 17. **Audit Log Viewer (Section 2.10)** - Create admin panel for log search - Implement audit report generation - **Effort:** 1 week | **Impact:** MEDIUM 18. **Session Timer (Section 2.3)** - Add timer functionality to sessions - Auto-calculate duration - **Effort:** 3-5 days | **Impact:** MEDIUM 19. **Reception Reports (Section 2.12)** - Create session status reports - Add center occupation reports - **Effort:** 1 week | **Impact:** MEDIUM 20. **Missed Appointment Logging (Section 2.1)** - Add no-show reason tracking - Create analytics for missed appointments - **Effort:** 3-5 days | **Impact:** MEDIUM --- ## Quick Wins (Low Effort, High Impact) 1. **Add session_order field to PackageService** - 1 day 2. **Implement senior delay notification Celery task** - 3 days 3. **Add expiry_date to Consent model** - 2 days 4. **Create PatientSafetyFlag model** - 3 days 5. **Implement room conflict checker** - 5 days 6. **Add missed appointment reason field** - 1 day 7. **Create consent expiry alert task** - 2 days **Total Quick Wins Effort:** ~2-3 weeks **Total Impact:** Addresses 7 critical/high priority gaps --- ## Technical Debt & Risks ### Current Technical Debt 1. **Incomplete Clinical Forms** - Only OT partially implemented - Risk: Cannot serve ABA, SLP, Medical, Nursing patients - **Mitigation:** Prioritize form development in Phase 2 2. **No MDT Collaboration** - Critical for multidisciplinary care - Risk: Poor care coordination - **Mitigation:** Implement MDT system immediately 3. **Missing Visual Progress Tracking** - No quantitative patient progress visualization - Risk: Difficult to demonstrate treatment efficacy - **Mitigation:** Integrate charting library and build metrics 4. **Incomplete Role Enforcement** - Junior therapists can see all patients - Risk: Privacy violations, confusion - **Mitigation:** Enforce strict role-based filtering 5. **No Staging Environment** - Testing on production is risky - Risk: Production bugs, data corruption - **Mitigation:** Set up staging server immediately ### Potential Blockers 1. **Report Generation Complexity** - Requires data aggregation from multiple sources - May need significant refactoring - **Recommendation:** Start early, iterate 2. **Charting Library Integration** - Frontend complexity - May require JavaScript framework - **Recommendation:** Use Chart.js for simplicity 3. **MDT Workflow Complexity** - Multi-user collaboration is complex - Requires careful state management - **Recommendation:** Start with simple version, iterate 4. **Integration Testing** - Many interconnected systems - Requires comprehensive test coverage - **Recommendation:** Implement regression tests --- ## Estimated Completion Timeline ### Immediate (Next 4 Weeks) - Quick wins implementation - Patient safety flags - Room conflict checker - Senior delay notifications - **Completion:** 70% → 75% ### Short Term (2-3 Months) - MDT Notes & Collaboration - Therapist Dashboard - Visual Progress Tracking - Clinical Forms (ABA, SLP, Medical) - Therapist Reports & Assessments - **Completion:** 75% → 85% ### Medium Term (4-6 Months) - Complete all clinical forms - Full report generation system - Advanced analytics - Comprehensive testing - **Completion:** 85% → 95% ### Long Term (6-12 Months) - Third-party integrations (Nafis/Wassel) - Advanced features - Performance optimization - **Completion:** 95% → 100% --- ## Conclusion The Agdar HIS implementation has established a **solid technical foundation** with excellent work on core infrastructure, appointment management, financial systems, and ZATCA compliance. However, **critical gaps remain** in clinical workflow features that are essential for daily operations. ### Key Takeaways ✅ **Strengths:** - Robust multi-tenant architecture - Complete ZATCA e-invoicing compliance - Comprehensive appointment state machine - Strong notification infrastructure - Excellent audit trail system ⚠️ **Critical Gaps:** - MDT collaboration completely missing - Therapist reports not implemented - Visual progress tracking absent - Clinical forms incomplete (only OT partial) - Safety flag system missing - Room conflict detection missing ### Recommended Action Plan 1. **Immediate (Week 1-4):** Implement quick wins and critical safety features 2. **Phase 2 (Month 2-3):** Complete MDT, therapist dashboard, and visual progress 3. **Phase 3 (Month 4-6):** Finish all clinical forms and reporting 4. **Phase 4 (Month 6-12):** Advanced features and integrations ### Production Readiness Assessment **Current State:** **NOT READY** for full production deployment **Minimum Requirements for Production:** - ✅ Core infrastructure (Complete) - ✅ Appointment management (Complete) - ✅ Financial systems (Complete) - ❌ MDT collaboration (Missing - CRITICAL) - ❌ Patient safety flags (Missing - CRITICAL) - ❌ Clinical forms for all clinics (Missing - CRITICAL) - ❌ Therapist reports (Missing - CRITICAL) - ⚠️ Visual progress tracking (Missing - HIGH) **Estimated Time to Production Readiness:** **3-4 months** with focused development --- **Document Version:** 1.0 **Last Updated:** January 9, 2025 **Next Review:** February 9, 2025 --- *This gap analysis should be reviewed and updated monthly as implementation progresses.*