Objective:
Implement an abstraction layer to decouple access to the HIS/LSF database view in the codebase. This will improve maintainability and flexibility for supporting future changes or additional database backends.
Rationale:
Currently, code interacts directly with HIS/LSF database views, which makes changes and testing harder. An abstraction layer would:
- Simplify code updates when data sources change
- Support mocking for tests
- Enable easier integration of additional database systems
Suggested Scope:
- Design an interface/class for database view operations (e.g., read, search, update if needed)
- Refactor existing direct database view calls to utilize the new abstraction
- Provide documentation and usage examples
Benefits:
- Improves code modularity and testability
- Reduces risk of breaking changes during backend updates
- Facilitates onboarding of new contributors
Next steps:
- Gather requirements for interactions with HIS/LSF views
- Propose abstraction interface
- Refactor with community feedback
Feel free to add suggestions or adjust scope based on technical constraints.
Objective:
Implement an abstraction layer to decouple access to the HIS/LSF database view in the codebase. This will improve maintainability and flexibility for supporting future changes or additional database backends.
Rationale:
Currently, code interacts directly with HIS/LSF database views, which makes changes and testing harder. An abstraction layer would:
Suggested Scope:
Benefits:
Next steps:
Feel free to add suggestions or adjust scope based on technical constraints.