Improved Audit Logging
Overview
With OpenMRS 2.7.0, Hibernate Envers was integrated to provide audit logging, enabling detailed tracking of database changes. However, there is currently no built-in way for admin users to view or manage these logs easily. This project aims to develop a backend module to facilitate audit log management, making it more accessible and useful within OpenMRS.
Key Features
Audit Reads on Selected Tables – Hibernate Envers does not support auditing table reads. We need to implement a system that integrates with Envers to track read operations on selected tables. This could leverage Hibernate Event Listeners, but alternative approaches are welcome.
Audit Log Viewer – Retrieve and display audit logs for database tables (legacy-ui).
Change Log: Log of changes made, by who
Filtering Options – Allow users to filter logs by:
User (who made the changes)
Date/Time (when the changes occurred)
Entity/Field (what was changed)
REST Endpoints – Expose APIs to allow external systems to access audit data.
Expectations for Contributors
Your report should include the following:
Legacy UI Designs – Ensure compatibility with OpenMRS’s legacy interface and provide mockups or wireframes.
Detailed Solution Architecture – Define the system’s structure, including:
Database schema
API design
Module integration
Feature Implementation Plan – Explain how you plan to implement each feature in the project.
Potential System Improvements – Suggest any updates or enhancements that could be made to improve the system further.
Skills You Will Use
Java, Hibernate, and Spring – Backend development expertise.
JSP & UI Design – Basic UI skills for designing the audit log viewer.
OpenMRS Backend Development – Understanding of OpenMRS modules and architecture.
Interest in Healthcare IT – Passion for improving open-source medical record systems.
This project will provide valuable experience in enterprise-level auditing, modular backend development, and healthcare information technology while contributing to OpenMRS’s long-term sustainability.
References