gdc_cmod/PROJECT_BACKLOG.md
2026-01-19 11:21:08 +07:00

121 lines
6.6 KiB
Markdown

# 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**<br><br>User Story: As an Admin, I want an "Unvalidate" menu to revert finalized records in case of data entry errors.<br><br>Technical: Only Doctors and Bu Yani should have access. | Both | Pending |
| T-002 | **Hide/Disable 'Validation' button after 2nd validation**<br><br>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**<br><br>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.<br><br>Technical: Lab can only preview, CS can print/save. | Both | Pending |
| T-004 | **Update User Role levels**<br><br>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**<br><br>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.<br><br>User Story: As a CS Staff, I want to see all patients to monitor the entire facility flow.<br><br>Technical: Implement filter logic based on patient_status or service_type field. | MD | Pending |
| T-006 | **Create Clinical Patients Dashboard**<br><br>Technical: Dedicated dashboard that hides the "No Lab" column for clinical workflows. | JSON | Pending |
| T-007 | **Fix Table Sorting**<br><br>User Story: As a User, I want to sort dashboard tables by "No Register" and "Patient Name" to find specific records quickly.<br><br>Technical: Fix sorting functionality on all table headers. | Both | Pending |
| T-008 | **Fix Language Toggle (ID/EN)**<br><br>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**<br><br>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**<br><br>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**<br><br>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**<br><br>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.<br><br>Technical: Log all unvalidation actions with timestamp, user ID, and reason. | Both | Pending |
| T-013 | **Enhanced Patient Detail Logging**<br><br>User Story: As a Staff member, I want to see a detailed history in the patient profile including:<br><br>- Sample Collection Time (categorized by type: EDTA, Serum, etc.)<br>- Sample Received Time<br>- 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**<br><br>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**<br><br>Technical: Ensure Preview doesn't crash when data is empty. | JSON | Pending |
| T-016 | **Ensure 'Uncollect' Feature Functional**<br><br>Technical: Maintain Uncollect feature functionality in current phase. | JSON | Pending |
| T-017 | **Backend Performance & Connectivity**<br><br>Technical Tasks:<br>- Investigate intermittent connection issues with Server 253<br>- Plan and execute SSD Upgrade for database server<br>- 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