# Project Backlog: Glen RME & Lab Management System **Last Updated:** January 19, 2026 **Sources:** TODO.md, TODO.json --- ## P0 - Critical (Access Control & Security) _Must be completed first to ensure basic process flow is correct._ | ID | Task | Source | Status | |----|------|--------|--------| | T-001 | **Restrict 'Unvalidate' button to specific User IDs**

User Story: As an Admin, I want an "Unvalidate" menu to revert finalized records in case of data entry errors.

Technical: Only Doctors and Bu Yani should have access. | Both | Pending | | T-002 | **Hide/Disable 'Validation' button after 2nd validation**

User Story: As a Lab Validator, I want the "Validate" button to disappear or disable once 2-level validation is complete to prevent redundant actions. | Both | Pending | | T-003 | **Restrict Print/Save-to-PDF to CS Role only**

User Story: As a Manager, I want to restrict the "Print Result" permission to the CS Role only, so that the Lab team cannot bypass the official release process.

Technical: Lab can only preview, CS can print/save. | Both | Pending | | T-004 | **Update User Role levels**

Technical: Standardize roles to: Superuser, Admin, Lab, Phlebo, and CS. | JSON | Pending | --- ## P1 - High (Dashboard & UI Improvements) _Features that improve speed and correctness of lab operations._ | ID | Task | Source | Status | |----|------|--------|--------| | T-005 | **Role-Based Dashboard Filtering**

User Story: As a Lab Staff, I want the dashboard to only show "Klinik+Lab" or "Lab Only" patients so I can focus on relevant tasks.

User Story: As a CS Staff, I want to see all patients to monitor the entire facility flow.

Technical: Implement filter logic based on patient_status or service_type field. | MD | Pending | | T-006 | **Create Clinical Patients Dashboard**

Technical: Dedicated dashboard that hides the "No Lab" column for clinical workflows. | JSON | Pending | | T-007 | **Fix Table Sorting**

User Story: As a User, I want to sort dashboard tables by "No Register" and "Patient Name" to find specific records quickly.

Technical: Fix sorting functionality on all table headers. | Both | Pending | | T-008 | **Fix Language Toggle (ID/EN)**

User Story: As a Lab Staff, I want to toggle the lab result preview between Indonesian and English so I can provide reports for international requirements. | Both | Pending | | T-009 | **Apply Row Color-Coding**

User Story: As a User, I want the "No Register" column to be color-coded (Yellow/Blue/Green) based on legacy system logic for quick status recognition. | Both | Pending | | T-010 | **Update PDF Report Metadata**

Technical: Replace 'Printed By' with name of validating user. Add 'Finish Validation' status per sample in PDF output. | JSON | Pending | --- ## P1 - High (RME Module Development) | ID | Task | Source | Status | |----|------|--------|--------| | T-011 | **Initialize RME Sidebar Menu**

Technical: Create menu items for Dashboard, Patient, Hasil Lab, Validation, Unreceived, Report, Sample Collection, User Management, and Unvalidate. | JSON | Pending | | T-012 | **Create 'Detail Unvalidated' History Log/View**

User Story: As a User, I want the "Reason for Unvalidation" to be visible in the Patient Detail view so I know why a record was reopened.

Technical: Log all unvalidation actions with timestamp, user ID, and reason. | Both | Pending | | T-013 | **Enhanced Patient Detail Logging**

User Story: As a Staff member, I want to see a detailed history in the patient profile including:

- Sample Collection Time (categorized by type: EDTA, Serum, etc.)
- Sample Received Time
- Print History (Who printed and when) | MD | Pending | --- ## P2 - Medium (Maintenance & UX) _UI improvements and backend optimizations._ | ID | Task | Source | Status | |----|------|--------|--------| | T-014 | **Add Dedicated Print Button**

User Story: As a User, I want a clear "Print" button that triggers the browser/system print dialog, as standard shortcuts (Ctrl+P) are currently unreliable in the app. | MD | Pending | | T-015 | **Add Error Handling for Preview Button**

Technical: Ensure Preview doesn't crash when data is empty. | JSON | Pending | | T-016 | **Ensure 'Uncollect' Feature Functional**

Technical: Maintain Uncollect feature functionality in current phase. | JSON | Pending | | T-017 | **Backend Performance & Connectivity**

Technical Tasks:
- Investigate intermittent connection issues with Server 253
- Plan and execute SSD Upgrade for database server
- Verify API integration between GDC_cmod, GDC_CS2, and Report2 for sample reception module | MD | Pending | --- ## Management Notes | ID | Note | Source | |----|------|--------| | NOTE-001 | Mas Rizqi is the IT person in charge. | JSON | | NOTE-002 | Merging of 'Hasil' and 'Validation' menus is pending management approval. | JSON | --- ## Acceptance Criteria Summary ### Code Consistency - All new UI elements (buttons/toggles) must match the existing design system. ### Audit Trail - Every status change (Validate/Unvalidate) must be logged with a timestamp and user ID. ### Cross-Browser - The "Print" functionality must work across Chrome and Edge browsers. --- ## Source Mapping Appendix | Task ID | Source | Original Description | |---------|--------|---------------------| | T-001 | TODO.json | Restrict 'Unvalidate' button to specific User IDs | | T-002 | Both | Hide/disable Validation button after 2nd validation | | T-003 | Both | Restrict Print/Save-to-PDF to CS Role only | | T-004 | TODO.json | Update User Role levels | | T-005 | TODO.md | Role-Based Dashboard Filtering | | T-006 | TODO.json | Create Clinical Patients Dashboard | | T-007 | Both | Fix Table Sorting | | T-008 | Both | Fix Language Toggle (ID/EN) | | T-009 | Both | Apply row color-coding | | T-010 | TODO.json | Update PDF reports metadata | | T-011 | TODO.json | Initialize RME Sidebar Menu | | T-012 | Both | Detail Unvalidated history log/view | | T-013 | TODO.md | Enhanced Patient Detail Logging | | T-014 | TODO.md | Dedicated Print Button | | T-015 | TODO.json | Error handling for Preview button | | T-016 | TODO.json | Ensure Uncollect feature functional | | T-017 | TODO.md | Backend Performance & Connectivity | --- ## Quick Reference: Task Count by Priority | Priority | Count | Items | |----------|-------|-------| | P0 - Critical | 4 | T-001 through T-004 | | P1 - High | 9 | T-005 through T-013 | | P2 - Medium | 4 | T-014 through T-017 | | **Total** | **17** | | --- ## Legend - **MD** = TODO.md (User story focused) - **JSON** = TODO.json (Developer task focused) - **Both** = Content merged from both sources