Skip to content

Add abstraction layer around HIS/LSF database view #24

@dlmsr

Description

@dlmsr

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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions