Hi Everyone,
Ensuring robust audit capabilities is essential for a platform like OpenMRS. While we have historically relied on the openmrs-module-auditlog, it has become outdated and no longer compatible with the latest versions of OpenMRS.
To address this, we are now developing a new and modern audit log system using Hibernate Envers.
There are two main phases in this
- Enable Hibernate Envers audit logging on the OpenMRS CORE.
- Create a new module to display audit logs to the user.
We have already completed the first phase. For more details on our implementation, you can explore the resources below:
-
Pull request: OMRS-131: Detailed Audit Logging
We have begun developing the module UI, and I started a simple prototype. Until we establish an official OpenMRS GitHub repository, you can view the progress on my personal GitHub repo: openmrs-module-auditlog.ui
We are planning to implement the following features in this module:
- List all changes made to a selected table.
Users will be able to select a table for which they want to view audit details (e.g., Patient tables). The module will then display basic information about the changes that occurred to entities within that table, presented in a format similar to the table shown below:
Users can click on a specific row to access more detailed information about a change.
- List all the revisions of an entity
Users will have the ability to select a table and an entity within that table. The module will then display all revisions associated with that entity. I’ve designed a basic format for this display, but I believe it still needs significant improvement.
- Search and filter audits
Users should be able to search and filter audit records based on parameters like the individual who made changes and the timeframe. For example:
All changes made by John between July 4, 2024, and August 4, 2024.
We are eager to hear your feedback, suggestions for improvements, or ideas for additional features that could enhance this module.