Skip to content

Add abstraction layer around HIS/LSF database view #24

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions